184 похожих чатов

Народ, кто нибудь с таким сталкивался? два сервера в кластере +

zookeeper, Database Engine новомодный Atomic
табличка ReplicatedMergeTree
без нагрузки на INSERT

стопаю zookeeper
таблица переходит в состояние ReadOnly

стартую zookeeper
дожидаюсь пока ReadOnlyReplicas станет 0

и делаю на всякий случай
SYSTEM RESTART REPLICAS; SYSTEM SYNC REPLICA default.test_repl
на обоих серверах
исполняется
без ошибок

но после этого
DROP TABLE default.test_repl ON CLUSTER 'all-replicated' SYNC
валится

2021.01.24 14:07:08.723023 [ 47 ] {5fe1ce55-a6f7-4b6a-b1eb-e96d7baf0b1f} <Error> executeQuery: Code: 159, e.displayText() = DB::Exception: Watching task /clickhouse/test-cluster-for-alerts/task_queue/ddl/query-0000000001 is executing longer than distributed_ddl_task_timeout (=180) seconds. There are 2 unfinished hosts (0 of them are currently active), they are going to execute the query in background (version 21.1.2.15 (official build)) (from 127.0.0.1:48432) (in query: DROP TABLE default.test_repl ON CLUSTER "all-replicated" SYNC)

в логах ничего подозрительного
2021.01.24 14:04:08.032989 [ 111 ] {439be48c-f6d9-4fbd-b83b-aea200225a08} <Debug> DDLWorker: Processing task query-0000000001 (DROP TABLE default.test_repl ON CLUSTER `all-replicated` NO DELAY)
2021.01.24 14:04:08.038707 [ 111 ] {439be48c-f6d9-4fbd-b83b-aea200225a08} <Debug> DDLWorker: Executing query: DROP TABLE default.test_repl NO DELAY
2021.01.24 14:04:08.039701 [ 111 ] {67f828e5-c5fd-4146-af7a-5f893be0c44c} <Debug> executeQuery: (from 0.0.0.0:0, user: , using production parser) /* ddl_entry=query-0000000001 */ DROP TABLE default.test_repl NO DELAY
2021.01.24 14:04:08.044575 [ 111 ] {67f828e5-c5fd-4146-af7a-5f893be0c44c} <Information> default.test_repl (cd3a90b5-71f8-46aa-bf84-2299b1ebc61d): Stopped being leader
2021.01.24 14:04:08.052720 [ 111 ] {67f828e5-c5fd-4146-af7a-5f893be0c44c} <Debug> DatabaseCatalog: Waiting for table cd3a90b5-71f8-46aa-bf84-2299b1ebc61d to be finally dropped

что он там ждет то теперь?

11 ответов

14 просмотров

А подскажите пожалуйста где вообще описан atomic? В документации не могу ничего о нем найти

а просто drop ( без on cluster ) работает?

Slach-[altinity] Автор вопроса
Denny [Altinity]
а просто drop ( без on cluster ) работает?

Да, проходят, имеет смысл завести какой нибудь issue?

Slach [altinity]
Да, проходят, имеет смысл завести какой нибудь iss...

наверное стоит создать issue кубернетис? имена хостов какие в drop on cluster в zk ?

Slach-[altinity] Автор вопроса
Denny [Altinity]
наверное стоит создать issue кубернетис? имена хос...

да кубер, но я могу наверное попробовать и под docker-compose поведение воспроизвести да, есть ньюанс, имена хостов в кластере это имена k8s service они слегка отличаются от имен подов на которых это запускается... но имена реплик, в ReplicatedMergeTree это тоже имена сервиса один сервис, один под судя по всему, таблица на самом деле удаляется,но просто не приходит подтверждение когда делается ON CLUSTER ... SYNC...

Slach [altinity]
да кубер, но я могу наверное попробовать и под doc...

аа, я понял о чем вы наверное из-за SYNC ждет 480s <database_atomic_delay_before_drop_table_sec>480</database_atomic_delay_before_drop_table_sec> ON CLUSTER 180s distributed_ddl_task_timeout 180 поменяйте в config.xml на 30 сек. <database_atomic_delay_before_drop_table_sec>30

Slach-[altinity] Автор вопроса
Denny [Altinity]
аа, я понял о чем вы наверное из-за SYNC ждет 480...

спасибо большое, не знал про такую опцию но что-то вообще не помогло эта штука через system.settings не отображается... и не понятно есть она или нет похоже что оно вообще при SYNC с тойже ошибкой вылетает даже если вообще несуществующую таблицу попросить удалить сейчас воспроизведу через docker-compose и засабмичу баг

Slach-[altinity] Автор вопроса
Denny [Altinity]
аа, я понял о чем вы наверное из-за SYNC ждет 480...

похоже дело в DNS именах хостов то есть если удалять несуществующую таблицу через DROP TABLE IF EXISTS default.any_table ON CLUSTER SYNC то вываливается ошибка docker-compose exec clickhouse-0-0-0 clickhouse-client -q "DROP TABLE IF EXISTS default.any_name ON CLUSTER 'default' SYNC" clickhouse-0-0 9000 0 1 0 Received exception from server (version 21.1.2): Code: 159. DB::Exception: Received from localhost:9000. DB::Exception: Watching task /clickhouse/task_queue/ddl/query-0000000001 is executing longer than distributed_ddl_task_timeout (=180) seconds. There are 1 unfinished hosts (0 of them are currently active), they are going to execute the query in background. когда Pod у меня это clickhouse-0-0-0 а Service это clickhouse-0-0 и в remote_servers прописан именно clickhouse-0-0:9000 (разрулил через alias в docker-compose) тогда видимо при DROP TABLE ... SYNC что-то ожидается в ddl Очереди из ZK ... и в результате не находится интересно что? имя хоста? поведение на docker-compose воспроизводится начиная с 20.10 когда SYNC вообще появился

Slach-[altinity] Автор вопроса
Denny [Altinity]
аа, я понял о чем вы наверное из-за SYNC ждет 480...

блин поставил <database_atomic_delay_before_drop_table_sec>10</database_atomic_delay_before_drop_table_sec> перестало воспроизводиться ... видимо что то не так делаю

Slach-[altinity] Автор вопроса
Denny [Altinity]
аа, я понял о чем вы наверное из-за SYNC ждет 480...

воспроизвелось в docker-compose <distributed_ddl_task_timeout>20</distributed_ddl_task_timeout> и <database_atomic_delay_before_drop_table_sec>1</database_atomic_delay_before_drop_table_sec> блин я не понимаю что не так с DNS пофигу, DNS не влияет похоже бага именно в atomic он не отдает в ddl queue в finished никаких результатов после физического удаления таблицы https://gist.github.com/Slach/a7f2946a108883f6b1d5585b1b5b6b0d

Похожие вопросы

Обсуждают сегодня

А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
Где в Астане можно купить мясо для шашлыков?
Dancing Іңұқәһүғө
21
Добрый день подскажите пожалуйста может кто то сталкивался с ошибками Sentry 22.10.0 развернутым из helm чарт в Kubernetes? Изначально 3 дня назад очень стало много событий ух...
Tire4 Finist Devops
1
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
почому оно не работает?
Vi Chapmann Chapmann
19
всем привет почти закончил курс После него можно писать свою операционку? Какие библиотеки надо использовать и куда дальше копать для изучения
Linus
19
Так а кто может спарсить всех участников чата? Идишники
Magic
18
Карта сайта