может оставлять данные в ZK?
На 1 из 8 реплик делаю:
SELECT database as database_name, table as table_name, replica_name, zookeeper_path FROM system.replicas WHERE is_readonly\G;
DETACH TABLE database_name.table_name;
SYSTEM DROP REPLICA 'replica_name' FROM ZKPATH 'zookeeper_path';
ATTACH TABLE database_name.table_name;
SYSTEM RESTORE REPLICA database_name.table_name;
Received exception from server (version 23.6.2):
Code: 36. DB::Exception: Received from 0.0.0.0:9000. DB::Exception: Replica path is present at 'zookeeper_path' - nothing to restore. If you are sure that metadata is lost and that replica path contains some garbage, then use SYSTEM DROP REPLICA query first.. (BAD_ARGUMENTS)
проверяю путь в ZK и там действительно не удалились данные для этой реплики
может replica_name не уникалная и есть еще один сервер с такой же репликой ... или еще одна таблица с таким же zkpath ?
есть другие реплики но с другими именами мы используем имя хоста как имя реплики поэтому они точно не пересекаются zkpath тоже уникален тк содержит имя таблицы и задается через макросы вот так ``` ENGINE = ReplicatedReplacingMergeTree('/clickhouse/{cluster}/tables/{database}/{shard}/{table}', '{replica}') ```
'/clickhouse/{cluster}/tables/{database}/{shard}/{table}', '{replica}' из этого пути при SYSTEM DROP REPLICA ... FROM ZKPATH удаляется кажется только '/clickhouse/{cluster}/tables/{database}/{shard}/{table}/replicas/{replica}' но надо провертяь
Обсуждают сегодня