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

Каждые выходные после бекапа мастера приходит лаг логической репликации, не

знаю уже как траблшутить:

...
2021-04-27 02:07:29.919 background worker logical replication worker (PID 5851) exited with exit code 1
2021-04-27 02:07:34.925 logical replication apply worker for subscription db0_db3 has started
2021-04-27 08:09:00.336 terminating logical replication worker due to timeout
2021-04-27 08:09:00.339 logical replication worker (PID 5911) exited with exit code 1
2021-04-27 08:09:00.342 logical replication apply worker for subscription db0_db3 has started
2021-04-27 08:09:01.465 could not start WAL streaming: ERROR: replication slot db0_db3 is active for PID 18265
2021-04-27 08:09:01.468 background worker ogical replication worker (PID 23078) exited with exit code 1
2021-04-27 08:09:06.477 logical replication apply worker for subscription db0_db3 has started
2021-04-27 08:09:06.486 could not start WAL streaming: ERROR: replication slot db0_db3 is active for PID 18265
2021-04-27 08:09:06.489 background worker logical replication worker (PID 23385) exited with exit code 1
2021-04-27 08:09:11.498 logical replication apply worker for subscription db0_db3 has started
2021-04-27 08:09:11.507 could not start WAL streaming: ERROR: replication slot db0_db3 is active for PID 18265
...

Эта лавина продолжается некоторое время и затыкается, чтоб через 6 часов снова выкинуть ошибку

terminating logical replication worker due to timeout

Нужно ли таймаут еще увеличить? Что вообще происходит, может ли воркер на подписчике отвалиться из-за долгой трансакции на мастере например?

9 ответов

22 просмотра

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

blkmrkt- Автор вопроса
Alexey Lesovsky
а не может быть такого что к слоту подключается дв...

Спасибо, я похоже разобрался! На мастере wal_sender_timeout был отключен, а на подписчике он был 10min. К слоту не должно было больше инстансов подключаться тк у нас один мастер и одна логическая реплика. Агрессивный поллинг сокета на мастере летел потому что сокет помечен как nonblocking, это наверное ожидаемое поведение. На подписчике такой лавины поллов не было, потому что подписчик делает работу в промежутках, а мастер долбит сокет и ждет когда сможет скинуть очредную порцию мяса на NIC. А лаг логической репликации вообще может возникнуть из-за долгой трансакции на мастере? Я читал что мол вообще все оплоги отправляются на логическую реплику, и что старты-стопы трансакций в них тоже содержатся. Если это правда, то получается что может произойти такая ситуация, когда например кто-то на мастере захоботит эксклюзивный лок вообще на все и будет ждать, и тем временем произойдет таймаут подписчика?

blkmrkt
Спасибо, я похоже разобрался! На мастере wal_sende...

> А лаг логической репликации вообще может возникнуть из-за долгой трансакции на мастере? да могут быть разные конфликты в зависимости от того что делалось в транзакции, можно об этом почитать тут

blkmrkt- Автор вопроса
Alexey Lesovsky
> А лаг логической репликации вообще может возникн...

Так это, у меня ж не с конфликтами проблемы а с лагом вызванным таймаутами. После ручного килла walsender на мейне и walreceiver на реплике, проходит 6-8 часов пока реплика не подтвердит последний LSN всего на полшишечки, и только после этого начинает по чуть-чуть продвигать свой прогресс. А там гляди ж и следующие выходные наступают!

blkmrkt- Автор вопроса
blkmrkt
Так это, у меня ж не с конфликтами проблемы а с ла...

И вообще похоже в pg_stat_database_conflicts ничего не пишется на логической реплике

blkmrkt
Так это, у меня ж не с конфликтами проблемы а с ла...

конфликт триггерится через конкретный интервал (см. max_standby_streaming_delay и аналогичный archive_delay), поэтому пока этот таймер не истек, будет копиться лаг. Также возможны более сложные варианты с дедлоками обнаружение которых пофиксили относительно недавно - там репликацияв результате встает колом.

blkmrkt- Автор вопроса
Alexey Lesovsky
конфликт триггерится через конкретный интервал (см...

Это же все настройки для hot standby, а логические реплики общаются через слоты и не находятся в recovery mode

blkmrkt
Это же все настройки для hot standby, а логические...

да, верное замечание вобщем у меня нет других идей кроме как в моменты лага смотреть через стату что там происходит в бд

blkmrkt- Автор вопроса
Alexey Lesovsky
да, верное замечание вобщем у меня нет других идей...

Почитал коммиты к 12.6 (мы на 12.5) - сомневаюсь что поможет этот багфикс с незамеченными дедлоками, но обновлюсь в пятницу. Тут еще такая штука что у логического подписчика есть собственная физическая реплика, и сейчас когда смотрю метрики то вижу что у той реплики лаг тоже начал расти в момент когда перестали продвигаться логические confirmed_lst & restart_lsn.

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

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

Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
А вот это что за конструкция? Вернее, она тут нафига?
Serjone
10
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Мужики. привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных элементов...
Kraszx
2
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Всем привет! Кто пользуется DevExpress, подскажите пожалуйста, реализован ли в TcxGrid в новых версиях поиск по датам как в Экселе (ну т.е. не просто список чекбоксов со значе...
A Z
4
Карта сайта