застряли парты. Почистить в ЗК поможет?
@BloodJazMan Не подскажешь, как мне это дело протолкнуть, а то все логи уже забило?
6 партов пытаются смреджиться и никак у них это не получается(
а у вас версия то какая 21.2 ? или что?
обновиться до 21.2.10 есть возможность хотябы? а лучше на 21.3 или на 21.8 сразу
прям сейчас нет возможности, уже тестируем 21.8 новую, чтобы перевезти кластер. Сейчас нет вариантов как очередь почистить?
ну разве что SYSTEM RESTART REPLICA db.replicated_merge_tree_family_table_name попробовать
ага, скидывает и сразу же заново пытается смерджить и застревает также в кластере 4 реплики
ну как вариант SYSTEM STOP REPLCA db.table чистим таску которая подвисла в ZK через zkCli.sh SYSTEM START REPLCA db.table SYSTEM SYNC REPLICA db.table и сидим смотрим на system.replication_queue если она есть
SYSTEM STOP REPLCA команды не видит, мб STOP REPLICATION QUEUES db.tb?
одна и та же реплика пытается отправить на все остальные реплики этот кусок, который не может смержиться. Что если остановить отправлять парты на все остальные реплики для этой таблицы, очистить очередь, сделать оптимайз для партиции, которая не может помержить куски, и запустить отправлять парты на остальные реплики?
И след вопрос, если так не получается это починить, могу ли я удалить эти парты, чтобы хоть как-то это вылечить. Налить данные сможем заново
да, это может быть вариант, но это все будет работать только если таблица не под нагрузкой вставок иначе репликация развалиться может потому что новые парты не будут регистрироваться в ZK честно говоря я тут уже плыву и не очень соображаю как именно оно там работает
у нас вставка в одну машину для этой таблицы, то есть можем отключить в нее вставку и репликация не должна развалиться
можно рядом таблицу положить той же структуры но не replicated, alter table new table attah partition 112001 from oldTable, убедиться что по каунтам все в поряде, потом alter table oldtable detach partition (проблемный партишн) и потом insert into oldTable select * from newTable
Давай попробую, была такая идея, спасибо
я наверно детачну только парты и заберу данные из них через select * from table where _part='мои парты'
закинул в новую таблицу, запустил оптимайз, и эта же ошибка свалилась, надеюсь сам помержит нормально
Обсуждают сегодня