мутаций? Сейчас, при запуске одной умеренно тяжелой мутации, КХ, на сколько я понимаю, делает ее параллельно для нескольких партов, нагрузка на сервер сильно возрастает, и обычным запросам не хватает памяти, да и сами мутации изредка тоже фейлятся с нехваткой памяти.
background_schedule_pool_size уменьшите в /etc/clickhouse-server/users.d/background_scheduled_pool_size.xml <yandex> <profiles> <default> <background_schedule_pool_size>2</background_schedule_pool_size> <background_pool_size>2</background_pool_size> </default> </profiles> </yandex> вообще как бы merge и мутации никакой особой памяти не занимают (ну буфера на чтение и распаковку где то мегабайт на 1 колонку и зависит от формата part) они диск жрут потребуется сервер рестартануть
сколько памяти и CPU ядер на сервере?
128гб, 48 логических ядра
в system.mutations.latest_fail_reason в процессе видел ошибки вида "не могу выделить 1-10гб"
тогда у вас проблема не в мутациях памяти для них навалом смотрите сколько памяти жралось в system.query_log по времени ошибок из latest_fail_time
смотрите по времени в system.metric_log CurrentMetric_* поля которые с памятью связаны также
в мутациях нельзя использовать select, используйте словари
Не используем: заранее селектим 10к значений, а в мутации перечисляем их в where in [].
это вам апгрейдится надо, это починено. НО, в любом случае будет проблема, вы же запускаете не одну мутацию, а сразу пачку и в каждой по 10к? ОНи объединяются в одну. Используйте engine=Join и в мутации joinGet (я использую mergtree таблицы, туда записываю id-шники, даже миллион, сверху словарь, и потом одной мутацией where dictGet)
Запускаем по одной, нам много не надо
запускаем это хорошо. А конца ждете?
"Используйте engine=Join и в мутации joinGet (я использую mergtree таблицы, туда записываю id-шники, даже миллион, сверху словарь, и потом одной мутацией where dictGet)" Попробовал, опять ошибка: Exception: Illegal type Nullable(Bool) of second argument of function dictGet, expected a const string or const tuple of const strings. В целевой таблице что ли дело. 🤔
Обсуждают сегодня