Size: a a a

ClickHouse не тормозит

2020 June 24

D

Dj in ClickHouse не тормозит
ну или в тот же хелп
источник

D

Dj in ClickHouse не тормозит
почему tmp_path в config.xml, он вполне себе используется во время запросов, ну итд итп
источник

D

Dj in ClickHouse не тормозит
ну и почему merge_tree settings в config.xml а не user.xml... ну да ладно, это лирика...
источник

D

Dj in ClickHouse не тормозит
Dj
да, у нас вообще дедлок был.

запустили materialize TTL (потому что авто ттл кривой и дропает слишком медленно ttl_only_drop_parts=1).

оказалось materialize TTL тоже кривой (сука) и перезаписывает все парты даже при ttl_only_drop_parts=1,  все по канону с распаковыванием и запаковыванием )

merge не шли потому что mutate зависли изза number_of_free_entries_in_pool_to_execute_mutation

а merge не шли из-за max_bytes_to_merge_at_min_space_in_pool
——
сейчас убрали лимит на mutation, включили лимит
но факт в том, что сейчас вся база читается и пишется просто так...
@den_crane а можно избежать запуска всех мутаций на реплике как то в таких случаях? и вообще как репликация работает?

(такой же вопрос на "MUTATE_PART")
например
replica1 insert part1
replica1 insert part2
replica2 "GET_PART" part1
replica1 insert part3
replica1 merges part1_0
replica2 "GET_PART" part1
replica3 "GET_PART" part2
replica3 "GET_PART" part3
replica3 "MERGE_PARTS" part1_0 <- merge делается на каждой реплике отдельно?
replica2 "GET_PART" part1_0 <- смердженный парт пересылается?
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Dj
@den_crane а можно избежать запуска всех мутаций на реплике как то в таких случаях? и вообще как репликация работает?

(такой же вопрос на "MUTATE_PART")
например
replica1 insert part1
replica1 insert part2
replica2 "GET_PART" part1
replica1 insert part3
replica1 merges part1_0
replica2 "GET_PART" part1
replica3 "GET_PART" part2
replica3 "GET_PART" part3
replica3 "MERGE_PARTS" part1_0 <- merge делается на каждой реплике отдельно?
replica2 "GET_PART" part1_0 <- смердженный парт пересылается?
мержи и мутации выполняются репликами синхронно
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
проверяет контрольная сумма полученных в результате мержа/мутации партов
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
если не совпадает, начинаем мержить снова
источник

D

Dj in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
мержи и мутации выполняются репликами синхронно
т.е. смердженные парты не пересылаются никогда?
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
если за какой-то большой таймаут не получилось -- скачиваем готовый парт с реплики
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
part1_0 --  _0 -- level0 это инсерт
источник

D

Dj in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
если за какой-то большой таймаут не получилось -- скачиваем готовый парт с реплики
т.е. смердженные парты не пересылаются "почти" никогда в нормальных условиях?
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Dj
т.е. смердженные парты не пересылаются "почти" никогда в нормальных условиях?
да, это исключение
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
сейчас пилят доработки, чтобы можно было всегда скачивать например
источник

AS

Alexander Sapin in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
сейчас пилят доработки, чтобы можно было всегда скачивать например
это просто настройка, уже запилена)
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
это просто настройка 🙂
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
точно, а дальше магия, эльфы ее проверяют ?
источник

AS

Alexander Sapin in ClickHouse не тормозит
:) почти
источник

AS

Alexander Sapin in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
да, это исключение
Ну такое может быть, если какая-то реплика стабильно подтормаживает и когда соседи уже всё намержили, она будет предпочитать скачивать.
источник

D

Dj in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
да, это исключение
ок, и порядок между репликами тоже строгий да?
т.е. вторая реплика берет из replication queue и запускает все подряд при наличии всех нужных исходных партов?
я пытаюсь понять как именно оно у нас "заткнулось" на "0" моменте.
источник

AS

Alexander Sapin in ClickHouse не тормозит
А вообще это происходит из-за того, что очередь репликации обрабатывается параллельно. Если бы мы её обрабатывали последовательно, то выполнение "мержа/скачивания" впринципе не могло бы начаться до скачивания исходных кусков.
источник