текущие мержи и если в них нет кусков удаляемой партиции дропаю её:
ALTER TABLE MyDatabase.MyTableReplicated DROP PARTITION '202202'
ошибок в консоли или в логах не было.
проверяю
SELECT partition FROM system.parts where table = 'MyTableReplicated' and database = MyDatabase' group by partition order by partition
и вижу, что на одной ноде партиция присутствует.
на всякий случай проверил незаконченные мутации
select count() from system.mutations where not is_done
таких нет.
проверил все ноды ZK, нигде упоминаний о кусках удаленной партиции нет
получается что инфа партиции каким то образом осталась в system.parts на проблемной ноде, ну и сами файлы на ноде присутствуют.
ls /var/lib/clickhouse/data/MyDatabase/MyTableReplicated/ | grep 202202 | wc -l
155
SELECT name, refcount, active FROM system.parts where table = 'MyTableReplicated' and database = 'MyDatabase' and partition = '202202' order by partition
20220216_20220216_243327_246173_8 6 0
20220223_20220223_350712_352922_8 5 0
20220210_20220210_147839_150548_6 5 0
20220210_20220211_150549_154284_10 5 0
……
…
все куски помечены как неактивные, с refcount 5 или 6
как посмотреть кем они держаться или почему они не удалились?
конфиг КХ: 1 шард, 2 реплики
версия КХ: 22.3.4.20
system.replication_queue смотрите может эти парты в очереди на репликацию
здесь system.detached_parts тоже смотрел, и там нет
Селекты могут держать неактивные парты. Но скорее всего баг и нужен рестарт кх. Кстати droppartition отменяет мержи, можно не проверять.
да, рестарт все починил спасибо
Обсуждают сегодня