delete не удаляет данные уже продолжительное время?
alter table agg.events_hour_local delete WHERE (day = '2021-09-22' and cid = 2525 and os = '')
В system.mutations мутация есть, но в system.merges where is_mutation = 1 пусто. Логи также пустуют. Ни ошибок, ни подсказок
UPD: версия 21.6.6.51
В system.mutations много полей и в них много интересного написано, обычно ответ на ваш вопрос тоже
SELECT * FROM system.mutations WHERE is_done = 0 Query id: 20500c01-c47c-478f-b758-d9bb9306c993 Row 1: ────── database: agg table: events_hour_local mutation_id: 0000000012 command: DELETE WHERE (day = '2021-09-22') AND (cid = 2525) AND (os_type = '') create_time: 2021-09-23 12:32:16 block_numbers.partition_id: ['20200713','20200720', ... сократил для удобства чтения ... ,'20210920'] block_numbers.number: [1732,2053, ... сократил для удобства чтения ... ,13644] parts_to_do_names: ['20210920_0_13367_6'] parts_to_do: 1 is_done: 0 latest_failed_part: latest_fail_time: 1970-01-01 00:00:00 latest_fail_reason: Резервирует место чтоли? Фейла нет, причины также. Будто залип на чем то. Кластер из двух реплик, на другой реплике также пусто. Имхо в зк тоже не может быть проблемы. Я вижу пока путь рестарта обоих нод авось поможет (иногда прокатывало)
parts_to_do_names: ['20210920_0_13367_6'] надо посмотреть что с этим партом, есть ли такой парт, возможно он уже мутировал, тогда detach / attach табилицы пнет мутацию возможно он большой и места нет надо поискать в логе сообщения про этот парт у меня было в старых версиях что права на файлах парта были r-r-r и мутация не работала пока rwrwrw не сделаешь
Докинул rwrwrw, которых не было. Парта к слову тоже нет, но аттач&детач ни таблицы, ни партиции не помогли. Попробую рестартануть
>Парта к слову тоже нет а подробнее? Есть другой 20210920_0_13367_.... ?
Ноу, только 20210920_0_3038_5 ближайший похожий. Для чистоты удалил мутацию, рестартанул кх, проставил в папке с данными chmod 777 */* и прогнал снова - застрял. Зато на логах реплики заметил много одинаковых строк: : Checking part 20210920_13777_13808_2_13807 : DB::Exception: No active replica has part 20210920_13777_13808_2_13807 or covering part : Checking if anyone has a part 20210920_13777_13808_2_13807 or covering part. : Found parts with the same min block and with the same max block as the missing part 20210920_13777_13808_2_13807. Hoping that it will eventually appear as a result of a merge.
застрял снова на 20210920_0_13367_6 ?
Да, ровно тот же парт
и в system.parts его нет надо смотреть на реплике надо смотреть в ZK
что то конкретное искать, или просто наличие аномалий, логов и прочего?
да парт этот в списке партов в ZK. видимо проще всего detach/attach всей партиции, но реплика перекачает
Не нашел в зк этого парта. Решил детач/атач сделать партиции, в итоге на одной ноде данные удвоились, на другой стало меньше и мутация на половину завершилась) Проблема была в том что детач оказался дольше 300 секунд и он тоже залип, поэтому могли быть осложнения. В общем решил снова рестартануть кликхаусы, полностью переналить агрегаты из сырой таблицы и на этом закончить. Теперь правда в логах маячит потерянный парт, которого, конечно же нет)
detach/attach надо делать на одной реплике, затем удалить все в detached на всех других репликах system restart replica таблица
🙏 спасибо, 100% в этом было дело. Я правильно понимаю, что когда посылаю ddl на альтер, то выбор партов которые нужно мутировать идут с зукипера? Т.е. сейчас в логах No active replica has part 20210920_13777_13808_2_13807, то нужно удалить этот парт из зк?
как бы да, но в современных версиях это решено, там создается пустой парт для потеряных партов
[zk (CONNECTED) 28] ls /clickhouse/cluster_1/tables/2/agg/events_hour_local/block_numbers/20210920_13777_13808_2_13807 я даже нашёл его по эту пути. Безопасно будет его deleteall сделать?
Ответил сам себе - безопасно. Сделал потом нормальный атач/детач, всё решилось, спасибо за помощь
Обсуждают сегодня