Re: 024_add_drop_pub.pl might fail due to deadlock - Mailing list pgsql-hackers

From Amit Kapila
Subject Re: 024_add_drop_pub.pl might fail due to deadlock
Date
Msg-id CAA4eK1J0qFm6QRc4wcbq19P4PcSWnB=i+f6n1m8njweoD87xaQ@mail.gmail.com
Whole thread Raw
In response to Re: 024_add_drop_pub.pl might fail due to deadlock  (vignesh C <vignesh21@gmail.com>)
List pgsql-hackers
On Thu, Jul 31, 2025 at 2:37 PM vignesh C <vignesh21@gmail.com> wrote:
>
> How about we change the below:
> +#ifdef USE_ASSERT_CHECKING
> +               LOCKTAG tag;
> +#endif
> +
> +               Assert(CheckRelationOidLockedByMe(SubscriptionRelRelationId,
> +
>            RowExclusiveLock, true));
> +
> +               rel = table_open(SubscriptionRelRelationId, NoLock);
> +#ifdef USE_ASSERT_CHECKING
> +               SET_LOCKTAG_OBJECT(tag, InvalidOid,
> SubscriptionRelationId, subid, 0);
> +               Assert(LockHeldByMe(&tag, AccessShareLock, true));
> +#endif
>
> to:
>  #ifdef USE_ASSERT_CHECKING
>         LOCKTAG tag;
>         Assert(CheckRelationOidLockedByMe(SubscriptionRelRelationId,
>                                           RowExclusiveLock, true));
>         SET_LOCKTAG_OBJECT(tag, InvalidOid, SubscriptionRelationId, subid, 0);
>         Assert(LockHeldByMe(&tag, AccessShareLock, true));
> #endif
>
>         rel = table_open(SubscriptionRelRelationId, NoLock);
>     }
>

Your suggested change looks better to me.

--
With Regards,
Amit Kapila.



pgsql-hackers by date:

Previous
From: Amit Kapila
Date:
Subject: Re: Conflict detection for update_deleted in logical replication
Next
From: Ajin Cherian
Date:
Subject: Re: Improve pg_sync_replication_slots() to wait for primary to advance