pgsql: Fix a deadlock during ALTER SUBSCRIPTION ... DROP PUBLICATION.

Поиск
Список
Период
Сортировка
От Amit Kapila
Тема pgsql: Fix a deadlock during ALTER SUBSCRIPTION ... DROP PUBLICATION.
Дата
Msg-id E1uhkre-000A40-23@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Fix a deadlock during ALTER SUBSCRIPTION ... DROP PUBLICATION.

A deadlock can occur when the DDL command and the apply worker acquire
catalog locks in different orders while dropping replication origins.

The issue is rare in PG16 and higher branches because, in most cases, the
tablesync worker performs the origin drop in those branches, and its
locking sequence does not conflict with DDL operations.

This patch ensures consistent lock acquisition to prevent such deadlocks.

As per buildfarm.

Reported-by: Alexander Lakhin <exclusion@gmail.com>
Author: Ajin Cherian <itsajin@gmail.com>
Reviewed-by: Hayato Kuroda <kuroda.hayato@fujitsu.com>
Reviewed-by: vignesh C <vignesh21@gmail.com>
Reviewed-by: Amit Kapila <amit.kapila16@gmail.com>
Backpatch-through: 14, where it was introduced
Discussion: https://postgr.es/m/bab95e12-6cc5-4ebb-80a8-3e41956aa297@gmail.com

Branch
------
REL_17_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/8c298324a4f3c26138b3d31248e6bd9d627963b5

Modified Files
--------------
src/backend/catalog/pg_subscription.c       | 33 +++++++++++++++++++++++++----
src/backend/replication/logical/tablesync.c | 27 ++++++++++++++++++++---
src/include/catalog/pg_subscription_rel.h   |  2 ++
3 files changed, 55 insertions(+), 7 deletions(-)


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