pgsql: Fix a deadlock during ALTER SUBSCRIPTION ... DROP PUBLICATION.
От | Amit Kapila |
---|---|
Тема | pgsql: Fix a deadlock during ALTER SUBSCRIPTION ... DROP PUBLICATION. |
Дата | |
Msg-id | E1uhkre-000A3y-20@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_18_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/d9f01a287ab1e024f42ec3065036f24dc72066af Modified Files -------------- src/backend/catalog/pg_subscription.c | 21 +++++++++++++++--- src/backend/replication/logical/tablesync.c | 34 +++++++++++++++++++++++++---- src/include/catalog/pg_subscription_rel.h | 2 +- 3 files changed, 49 insertions(+), 8 deletions(-)
В списке pgsql-committers по дате отправления: