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

Привет, в Atomic бд, дропнул таблицу с SYNC. В половине

нодов таблица не удалилась с ошибкой:
Replica was not completely removed from ZooKeeper, /tables/production_cluster/2/db.table/replicas/2 still exists and may contain some garbage.

Куда смотреть и как её удалить?

19 ответов

8 просмотров

SYSTEM DROP REPLICA 'replica-name' FROM db.table;

Nik S.- Автор вопроса
Slach [altinity]
SYSTEM DROP REPLICA 'replica-name' FROM db.table;

это на тех нодах где они осталась?

вообще странно, если такое есть у вас, то проверьте имена реплик правильно ли заданы? обычно это макрос replica в system.macros

Nik S.
это на тех нодах где они осталась?

на этих репликах так сделать не даст.. https://clickhouse.com/docs/en/sql-reference/statements/system#drop-replica но вы сначала проверьте что у вас имена реплик разные везде на всех нодах там где не может удалить /2 на конце в replicated path такое себе имя реплики SHOW CREATE TABLE db.table FORMAT Vertical; покажите?

Nik S.- Автор вопроса
Slach [altinity]
на этих репликах так сделать не даст.. https://cli...

Вот так выглядит CREATE TABLE CREATE TABLE IF NOT EXISTS db.table ON CLUSTER '{cluster}' ( ...columns.. ) ENGINE = ReplicatedMergeTree('/tables/{cluster}/{shard}/prometheus.metrics_repl', '{replica}') PARTITION BY toYYYYMMDD(date) ORDER BY (ts, name)

Nik S.- Автор вопроса
Slach [altinity]
SELECT DISTINCT cluster FROM system.clusters;

только один, production_cluster расклад такой, что node1, shard1, replica1 ----replication----> node 2, shard1, replica 2 node3, shard2, replica1 ----replication----> node 4, shard2, replica 2 node5, shard3, replica1 ----replication----> node 6, shard3, replica 2 node7, shard4, replica1 ----replication----> node 8, shard4, replica 2 И если делаю select из clusterAllReplicas(production_cluster, system.tables) where table = table and database=db, то всё еще есть эта таблица на нодах 1, 2, 7 и 8.

Nik S.
только один, production_cluster расклад такой, чт...

SELECT hostName() h, * FROM clusterAllReplicas('production_cluster',system.macros) ORDER BY macro, h есть ли одинаовый shard+replica на разных hostName() ?

Nik S.- Автор вопроса
Slach [altinity]
SELECT hostName() h, * FROM clusterAllReplicas('pr...

нет, такого нет, у каждого шарда две разных реплики 1 и 2

Nik S.
нет, такого нет, у каждого шарда две разных реплик...

тогда может есть какие то еще таблицы которые с заданный replication_path пишут? SELECT hostName() h, database, table, engine_full FROM clusterAllReplicas('production_cluster',system.tables) WHERE engine_full ILIKE '%prometheus.metrics_repl%';

Nik S.- Автор вопроса
Slach [altinity]
тогда может есть какие то еще таблицы которые с за...

нет, только моя таблица которую хочу дропнуть

попробуйте DETACH TABLE ... потом ATTACH TABLE и после этого DROP TABLE ... SYNC

Nik S.- Автор вопроса
Slach [altinity]
попробуйте DETACH TABLE ... потом ATTACH TABLE и п...

сейчас в system.parts ничего от неё не осталось, всё равно попробовать detach-attach?

Nik S.- Автор вопроса
Slach [altinity]
ну если DROP ... SYNC не проходит...

drop sync он без ошибок сработал, просто я потом сразу попытался создать эту таблицу опять и увидел что там еще остатки в зукипере остались.

Nik S.
drop sync он без ошибок сработал, просто я потом с...

вы совершенно по другому ставили вопрос вы говорили что у вас DROP SYNC не на всех нодах отработал DROP TABLE db.table ON CLUSTER 'production_cluster' SYNC вот так надежнее всего... и потом только создавать CREATE TABLE ... ON CLUSTER

Nik S.- Автор вопроса
Slach [altinity]
вы совершенно по другому ставили вопрос вы говори...

Прошу прощения если не правильно выразился. Drop sync сработал везде, я ошибок не видел. Все из system.parts ушло. Осталось: на нодах 1, 2, 7 и 8 в system.tables записи и ошибки в логах про зукипер такое (на скриншоте).

Nik S.- Автор вопроса
Slach [altinity]
вы совершенно по другому ставили вопрос вы говори...

в итоге, я еще раз drop sync сделал и теперь из system.tables всё ушло. Осталось только в зукипере эти два: '/tables/production_cluster/3/prometheus.metrics_repl/replicas/1' /tables/production_cluster/2/prometheus.metrics_repl/replicas/2 их как-то можно безопасно почистить? вижу их в system.zookeeper

Nik S.
в итоге, я еще раз drop sync сделал и теперь из sy...

странно, должны были почиститься вообще то в zookeeper zkCli.sh deleteall /tables/production_cluster/3/prometheus.metrics_repl

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

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

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта