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

Добрый день. Много раз уже обсуждали проблему No active replica

has part и зависшие парты в replication_queue. Всегда предлагаете решение detach+attach+system restart replica или идти чистить очередь руками.
Стали слишком часто появляться такие зависшие парты в очереди репликации по конкретной таблице. На нее идет достаточно много небольших инсертов. Пишем в один сервер еще с 2х читаем, в них не пишем. Можно ли как-то заставить парт остаться на сервере куда пишем, смерджиться и дальше отправить на реплики?

28 ответов

80 просмотров

репликация это по сути лог в котором реплики события типа GET_PART, ATTACH_PART, MERGE_PART регистрируют вообще при обработке GET_PART ищется не сам парт для скачивания, а парт его покрывающий по номерам блоков вы может что-то еще делаете кроме мелких вставок с этими партами? если по system.part_log во всех репликах поискать по имени парта (там два поля part_name и source_part_names кажется массив) то что выдает?

Clir- Автор вопроса
Slach [altinity]
репликация это по сути лог в котором реплики собы...

да, висит GET_PART в очереди репликации с такой ошибкой No active replica has part 73ee5f8e20f8e56fd891b646bedf6add_8971_8975_1 or covering part source replica пустая, num_tries>1000. В part_log по part_name=‘73ee5f8e20f8e56fd891b646bedf6add_8971_8975_1’ нашел DownloadPart+RemovePart

<background_schedule_pool_size>256</background_schedule_pool_size> <background_fetches_pool_size>16</background_fetches_pool_size> не хватает у вас фетч пула, не успевает скачивать реплика

Clir- Автор вопроса
Clir
выставлено в 1024+64

надо смотреть тогда что происходит. Сколько инсертов в секунду?

Clir- Автор вопроса

конкретно в эту таблицу, или вообще?

Clir- Автор вопроса
Clir
4-6 штук

надо читать лог, почему парт _0 не был скачан

Clir- Автор вопроса
Denny [Altinity]
надо читать лог, почему парт _0 не был скачан

может ли быть такое, что парт уже смерджился на реплике, куда был вставлен и далее не может скачаться репликой?

Clir- Автор вопроса
Denny [Altinity]
надо читать лог, почему парт _0 не был скачан

еще весь лог постоянно засран таким 2023.11.06 14:36:16.489537 [ 67525 ] {} <Warning> (ReplicatedMergeTreePartCheckThread): Checking part 73ee5f8e20f8e56fd891b646bedf6add_14067_14738_448 2023.11.06 14:36:16.614118 [ 67525 ] {} <Warning> (ReplicatedMergeTreePartCheckThread): Checking if anyone has a part 73ee5f8e20f8e56fd891b646bedf6add_14067_14738_448 or covering part.

Clir
может ли быть такое, что парт уже смерджился на ре...

это не так работает. делается insert. Появляется парт _0, реплики создают GET задание реплики или качают или нет (может у них пул занят или они вообще выключены) реплика назначает мерж и мержит какие-то парты в _1, реплики назначают себе такой же мерж если реплики не имеют исходных партов, то они их ждут какое-то время, потом сдаются и качают _1 если _1 уже нету, то они скачают _2 и т.д.

Clir
еще весь лог постоянно засран таким 2023.11.06 14:...

да и пофиг zgrep "Checking if anyone has a part" clickhouse-server.log.1.gz|wc -l 85

Clir- Автор вопроса
Clir
да, висит GET_PART в очереди репликации с такой ош...

на реплике, куда идет вставка нашел, что этот парт получился в результате мерджей таких партов [‘73ee5f8e20f8e56fd891b646bedf6add_8960_8960_0','73ee5f8e20f8e56fd891b646bedf6add_8961_8961_0','73ee5f8e20f8e56fd891b646bedf6add_8962_8962_0','73ee5f8e20f8e56fd891b646bedf6add_8963_8963_0','73ee5f8e20f8e56fd891b646bedf6add_8964_8964_0']

ну ищите почему их не было на других репликах

Clir- Автор вопроса
Denny [Altinity]
ну ищите почему их не было на других репликах

а они полюбому должны быть хотя бы на одной реплике?

Clir
а они полюбому должны быть хотя бы на одной реплик...

ну реплика которая их смержила их имела, т.е. они точно были на реплике в которую вы инсертите

Clir- Автор вопроса
Denny [Altinity]
ну реплика которая их смержила их имела, т.е. они ...

на одной реплике ничего нет по этим партам, на других есть DownloadPart+RemovePart

Clir- Автор вопроса
Denny [Altinity]
ну реплика которая их смержила их имела, т.е. они ...

я правильно понимаю, что нужно эти в зукипер и там все чистить для этой реплики, которая не может найти парт? И почему такое может регулярно случаться? Проблем с рестартом машины, сетью или что еще можно посмотреть?

Clir
я правильно понимаю, что нужно эти в зукипер и там...

да это само починится, почему надо что-то чистить?

Clir
я правильно понимаю, что нужно эти в зукипер и там...

у меня была такая история - в кубере на нодах зукипера кончалось место. Не хватало параметра autopurge: purgeInterval: 1

Clir- Автор вопроса
Denny [Altinity]
да это само починится, почему надо что-то чистить?

у меня из-за этих зависающих партов иногда тормозит репликация, прям серьезный лаг начинается. И оно вечно может висеть, пока руками что-то не сделаешь.

Clir
у меня из-за этих зависающих партов иногда тормози...

какая версия КХ? я бы читал лог, понять почему реплика не смогла скачать _0 парт

Clir- Автор вопроса
Denny [Altinity]
какая версия КХ? я бы читал лог, понять почему ре...

Старая версия 21.2.9.41 В очереди появился новый парт, который завис Вот что в логах https://pastila.nl/?00ac30c5/917a9e817df5da182572f097b64b5b98#CvhP2IkkMn3JJinVqKyR+g== Из этой таблицы 1 раз в час данные переносятся в другую таблицу и партиция удаляется на сервере, на котором вставляются данные. Мб это как-то может приводить к проблеме?

Clir
Старая версия 21.2.9.41 В очереди появился новый ...

по идее если партиция дропается, то репликам не нужен был бы этот парт. попробуйте system sync replica перед drop partition , может это какой-то старый баг

Clir- Автор вопроса

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

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

а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Эх кто-то пришел и весь праздник испортил :( You need complex FBX scene importing setup to change things on import? good luck with that. You need navigation and pathfinding? g...
Serg Gini
5
Всем привет! Подскажите. Я написал приложение на Delphi 10.2 Tokyo под Windows 10. И передо мной стал вопрос о том чтобы сделать это приложение кроссплатформенным (под Linux и...
Дмитрий Завгородний
24
Почему стало ломаться на D11? "739002.86400000' is not a valid timestamp" function IncDateTime(aStamp:TTimeStamp;aKind:TTriggerKind;aInterval:Integer):TDateTime; //aStamp = 2...
Катерина Свиридова
8
Привет всем. Подскажите где можно посмотреть, какая версия электрон, поддерживает версии windows? Некий changelog. Мне бы желательно, поддержку 7,8,10... latest, как понимаю и...
Anonym Squad
21
думаешь я не смогу также сделать? мне это просто не удобно
int 💳 𝙖𝙞𝙧 𝙗𝙞𝙜 𝙗𝙤𝙗 🔫 check bio / spam block / AFK / nohello.com / GMT+3
9
Портфолио: Зовут меня Александр, мне 36 лет. Город Пушкино. Общий рабочий стаж: ~14 лет Уровень квалификации: Senior Full-stack developer Где прочесть мой код? https://github....
Magic
10
Ребят, чет я уже не догоняю... Крч в коде на асм там происходит нечто вроде a+число (a+1, a+2 и т.д.). Но почему строка lea ecx, [edx+1] работает как a+1?? В edx берется адрес...
Alan 🔝 Бэброу
3
Есть ли смысл устраиваться на 1с ? Даст это плюс в дальнейшем трудоустройстве на php? Просто у меня в городе вакансий на пхп нету. Или лучше удаленно искать. Опыта работы нету...
Azamat
14
hi im a cs student. i need some advice from people who have enough experience in Embedded Software. I need to know whether this profession is suitable for me. I have watched s...
Sahand 🏔️
8
Карта сайта