Re: 024_add_drop_pub.pl might fail due to deadlock

From: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
To: vignesh C <vignesh21(at)gmail(dot)com>
Cc: Ajin Cherian <itsajin(at)gmail(dot)com>, "Hayato Kuroda (Fujitsu)" <kuroda(dot)hayato(at)fujitsu(dot)com>, Alexander Lakhin <exclusion(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: 024_add_drop_pub.pl might fail due to deadlock
Date: 2025-07-29 11:09:29
Message-ID: CAA4eK1K=smQy=XTs34gP4HvbRbdfoSNnD1wNyFZnFi=u=85Fzw@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Jul 29, 2025 at 4:26 PM vignesh C <vignesh21(at)gmail(dot)com> wrote:
>
> On Tue, 29 Jul 2025 at 14:46, Ajin Cherian <itsajin(at)gmail(dot)com> wrote:
> >
> > On Tue, Jul 29, 2025 at 1:13 PM Amit Kapila <amit(dot)kapila16(at)gmail(dot)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.

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Yura Sokolov 2025-07-29 11:12:29 page_collect_tuples without long lock on page (Was Re: IPC/MultixactCreation on the Standby server)
Previous Message vignesh C 2025-07-29 10:56:21 Re: 024_add_drop_pub.pl might fail due to deadlock