для database - Atomic, и при удалении таблиц DROP TABLE - таблица теперь удаляется не сразу, а асинхронно через какое-то время?
Есть вариант как-то зафорсить удаление таблицы сразу, или сделать запрос на удаление синхронным ?
да правильно DROP TABLE ... SYNC
а именно настройки нет, чтоб это происходило по умолчанию?
database_atomic_delay_before_drop_table_sec=0 можно попробовать, но не советовал бы у вас {uuid} используется в ReplicatedMergeTree таблицах или нет?
Нет, uuid не используем..
я не про тип данных я про макрос
Ага, спасибо, я пока только представляю, что это. В доке про это есть?) У нас пока в проде базы со старым движком Ordinary. Atomic пока что только в тестах )
нету, feel free to make pull request
Received exception from server (version 21.2.2): Code: 115. DB::Exception: Received from localhost:9100. DB::Exception: Unknown setting database_atomic_delay_before_drop_table_sec.
вы ее где ставите? судя по всему это глобальная настройка в config.d положите https://github.com/ClickHouse/ClickHouse/search?q=database_atomic_delay_before_drop_table_sec
через set пытался делать. Через глобальную заработало) Спасибо!
Зачем так категорично? При неаккуратном использовании {uuid} в zpath можно репликацию поломать и ZooKeeper угробить
=\ а если не использовать то при Atomic люди удаляют таблицу, и снова создают... и обламываются "потому что такая уже есть"
database_atomic_wait_for_drop_and_detach_synchronously When executing DROP or DETACH TABLE in Atomic database, wait for table data to be finally dropped or detached. SET database_atomic_wait_for_drop_and_detach_synchronously = 1
Лучше один раз понять, что такое Atomic, чем напихать uuid в zpath и через некоторое время обломиться еще раз. Есть же способы удалить таблицу синхронно.
можете для тех кто в ЗК не копенгаген прояснить, чем плох uuid в zpath для zk?
Я знаю, что у реплик zpath должен быть одинаковый. А откуда в макрос uuid значение подставляется, я не знаю. Если вы дропнули реплику, и создаете новую, что будет?
в макрос UUID из таблицы, из UUID таблицы по логике. как я понял при создании on cluster - Это автоматом делается. при под-реплике, да, вы должны брать часть UUID из ДДЛ другой текущей реплики...
Вот я и говорю, при неаккуратном использовании можно немало граблей насобирать. Мне не нравится утверждение, что uuid в zpath использовать "НАДО"
да вряд ли, максимум новая реплика не будет синхронизироватся, и все. мне например больше не нравится что нет макроса {database} по умолчанию во всех мануалах... там намного больше шансов нафакапить с одинаковыми путями в разных базах на одинаковых таблицах
Обсуждают сегодня