Re: 024_add_drop_pub.pl might fail due to deadlock

Amit Kapila <amit.kapila16@gmail.com>

From: Amit Kapila <amit.kapila16@gmail.com>
To: vignesh C <vignesh21@gmail.com>
Cc: Ajin Cherian <itsajin@gmail.com>, "Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com>, Alexander Lakhin <exclusion@gmail.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2025-07-29T11:09:29Z
Lists: pgsql-hackers
On Tue, Jul 29, 2025 at 4:26 PM vignesh C <vignesh21@gmail.com> wrote:
>
> On Tue, 29 Jul 2025 at 14:46, Ajin Cherian <itsajin@gmail.com> wrote:
> >
> > On Tue, Jul 29, 2025 at 1:13 PM Amit Kapila <amit.kapila16@gmail.com> wrote:
> > >
> > > Yes, that makes sense to me. For HEAD and PG18, we can still add a new
> > > argument to the API. For other bank branches, it is better to use a
> > > new Ex function as suggested by Kuroda-San.
> > >
> >
> > Here are the updated patches.
>
> I noticed the order of LockSharedObject and table lock is different
> here compared to disable subscription:
>

Note that catalog tables are not the same. The DisableSubscription()
takes lock on pg_subscrition catalog and then on a particular
subscription using subscription_id. Here, we are first taking lock on
a particular subscription and then on pg_subscription_rel. So, this
seems to follow exactly the order which we should follow and I don't
see any problem here. Please let us know if you have a specific
concern.

-- 
With Regards,
Amit Kapila.



Commits

  1. Fix a deadlock during ALTER SUBSCRIPTION ... DROP PUBLICATION.