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

Всем привет. На одном из шардов наблюдаю в system.replication_queue такую ошибку

(видимо давно застрявшую): last_exception: Code: 234. DB::Exception: No active replica has part 20230625_4384_4417_2 or covering part. (NO_REPLICA_HAS_PART) (version 22.7.5.13 (official build)).
Я не знаю как это произошло, но подозреваю, что это из-за того, что машина несколько раз зависала, а кворум вставки не был включен (если вторая реплика вообще существовала на тот момент).
Эта реплика показывает двухмесячный Absolute delay - видимо из-за этого парта (остальные данные "вокруг" - вроде совпадают).
Допустим, я хочу "забыть" об этом парте - как это сделать? В select * from system.parts where name = '20230625_4384_4417_2' его нет.

select * from system.zookeeper where path = '/clickhouse/tables/1/some.table/replicas/1-1/parts' and name='20230625_4384_4417_2' format Vertical
- тоже нету.

count() на репликах при этом различается SELECT count() from some.table__shard.

select * from system.zookeeper where path = '/clickhouse/tables/1/some.table/replicas/1-1/queue' format Vertical
name: queue-0000791719
create_time: 2023-06-26 15:34:32
source replica:
block_id:
get
20230625_4384_4417_2

select * from system.replicas where table = 'table__shard' format Vertical
queue_size: 1
inserts_in_queue: 1
queue_oldest_time: 2023-06-26 15:34:32
inserts_oldest_time: 2023-06-26 15:34:32
oldest_part_to_get: 20230625_4384_4417_2
absolute_delay: 5738629

15 ответов

11 просмотров

SELECT * FROM clusterAllReplicas('cluster-name',system.part_log) WHERE name='20230625_4384_4417_2' ORDER BY event_time FORMAT Vertical можно посмотреть если ничего не найдете... попробуйте просто ALTER TABLE .. .ON CLUSTER 'cluster-name' DETACH PART '20230625_4384_4417_2';

Philipp-Saveliev Автор вопроса
Slach [altinity]
SELECT * FROM clusterAllReplicas('cluster-name',sy...

в part_log ничего не нашлось 🤷🏿 detach part фейлит с DB::Exception: No part 20230625_4384_4417_2 in committed state. (NO_SUCH_DATA_PART)

Slach [altinity]
А в replication_queue Какая source replica стоит?

Как раз тот хост, с которого нужно тянуть данные + есть обычные мержи (основной сервер .79, реплика .19) │ default │ jaeger_index_local │ 10.72.134.19 │ 0 │ queue-0000722271 │ MERGE_PARTS │ 2023-09-02 10:25:13 │ 0 │ 10.72.134.79 │ 20230902_52026_52057_3 │ ['20230902_52026_52037_2','20230902_52038_52048_2','20230902_52049_52054_1','20230902_52055_52055_0','20230902_52056_52056_0','20230902_52057_52057_0'] │ 0 │ 1 │ 1 │ │ 1970-01-01 00:00:00 │ 2023-09-02 10:25:14 │ 1 │ Not executing log entry queue-0000722271 for part 20230902_52026_52057_3 because it is not disjoint with part 20230902_52049_52054_1 that is currently executing. │ 2023-09-02 10:25:13 │ Regular │

Alex
Как раз тот хост, с которого нужно тянуть данные +...

лучше через SELECT * FROM system.replication_queue WHERE table='jaeger_index_local' FORMAT Vertical расшарить а то так читать неудобно... в расшаренных данных нет упоминания проблемного парта 20230625_4384_4417_2

Philipp-Saveliev Автор вопроса
Slach [altinity]
лучше через SELECT * FROM system.replication_queue...

человек перепутал, видимо, вопрос был мне :) ответил уже выше - пустое значение в source replica

Philipp Saveliev
человек перепутал, видимо, вопрос был мне :) ответ...

а событие какое? как выглядит вывод вообще select указанного?

Philipp-Saveliev Автор вопроса
Slach [altinity]
а событие какое? как выглядит вывод вообще select...

replica_name: 1-1 position: 0 node_name: queue-0000791719 type: GET_PART create_time: 2023-06-26 15:34:32 required_quorum: 0 source_replica: new_part_name: 20230625_4384_4417_2 parts_to_merge: [] is_detach: 0 is_currently_executing: 0 num_tries: 3032067 last_exception: Code: 234. DB::Exception: No active replica has part 20230625_4384_4417_2 or covering part. (NO_REPLICA_HAS_PART) (version 22.7.5.13 (official build)) last_attempt_time: 2023-09-02 02:59:36 num_postponed: 0 postpone_reason: last_postpone_time: 1970-01-01 00:00:00 merge_type:

Philipp Saveliev
replica_name: 1-1 position: ...

ну что ж... zkCli.sh или clickhouse-keeper client в помощь...

Philipp-Saveliev Автор вопроса

а что можно сделать? удалить джоб из очереди? как-то стрёмно.. как определяется задержка репликации? - у меня что-то сомнения что она рассосётся после этого

Philipp Saveliev
а что можно сделать? удалить джоб из очереди? как-...

я думаю что absolute_delay считается как разница между min(create_time) из system.replication_queue он же queue_oldest_time, inserts_oldest_timemerges_oldest_time, part_mutations_oldest_time из system.replicas) и last_queue_update из system.replicas https://www.perplexity.ai/search/1e5885a1-2d34-4eca-a5d0-ca3cd95bbc55?s=u

Philipp-Saveliev Автор вопроса
Slach [altinity]
я думаю что absolute_delay считается как разница м...

хм, спасибо, подумаю что с этим делать..

Philipp Saveliev
хм, спасибо, подумаю что с этим делать..

все эти таблицы в system просто в итоге пробрасывают запросы к zookeeper Данным и в принципе очередь можно чистить но только в исключительных случаях, когда через ATTACH / DETACH ничего не получилось сделать можно еще если INSERT контроллируете сделать DETACH / ATTACH TABLE db.name и потом SYSTEM RESTART REPLICA db.name оно должно со стророны реплики очередь пересоздать...

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

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

Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Я вот подумал. SSE выполняет операции максимум с 64-битной точностью. А FPU - всегда с 80-битной. Разве не должно быть FPU точнее тогда?
The Bird of Hermes
13
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
как быть с принтером? такой подход прокатит?
zamtmn
12
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Я не понимаю, это троллинг или что? Швабрика поддерживают, который буквально пишет на ассемблере взаимодействия с винапи. Я это ещё написал загрузчик и хоть что-то изучаю в о...
Shadow Akira
6
А вот это что за конструкция? Вернее, она тут нафига?
Serjone
10
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
Карта сайта