Re: 024_add_drop_pub.pl might fail due to deadlock

Поиск
Список
Период
Сортировка
От Ajin Cherian
Тема Re: 024_add_drop_pub.pl might fail due to deadlock
Дата
Msg-id CAFPTHDYau6We95XH3DqbmCx4xO29veytKU53D42uE=Qe2aAZhw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: 024_add_drop_pub.pl might fail due to deadlock  (Ajin Cherian <itsajin@gmail.com>)
Ответы Re: 024_add_drop_pub.pl might fail due to deadlock
Список pgsql-hackers
On Tue, Jul 8, 2025 at 8:41 PM Ajin Cherian <itsajin@gmail.com> wrote:
>
> Patch with fix attached.
> I'll continue investigating whether this issue also affects HEAD.
>

While debugging if this problem can occur on HEAD, I found out that on
head, it is mostly the tablesync worker that drops the origin on HEAD
and since the tablesysnc worker does not attempt to update the
SubscriptionRel state in that process, there doesn't seem to be the
possibility of a deadlock. But there is a rare situation where the
tablesync worker could crash or get an error just prior to dropping
the origin, then the origin is dropped in the apply worker (this is
explained in the comments in process_syncing_tables_for_sync()). If
the origin has to be dropped in the apply worker, then the same
deadlock can happen in HEAD code as well. I was able to simulate this
by using an injection point to create an error on the tablesync worker
and then the similar deadlock happens on HEAD as well. Attaching a
patch for fixing this on HEAD as well.

regards,
Ajin Cherian
Fujitsu Australia

Вложения

В списке pgsql-hackers по дате отправления: