On Thu, Dec 11, 2025 at 12:45 PM Chao Li <[email protected]> wrote: > > Hi Hackers, > > I just noticed that relation_mark_replica_identity() unconditionally opened > pg_class with RowExclusiveLock even in cases where relreplident has no > change, which incurred unnecessary relation opens, lock acquisition. > > I just made a tiny refactor that defers opening pg_class until we know that > an update to relreplident is required.
I think we need to lock the relation before fetching the tuple so that the field being read remains consistent. Instead of upgrading the lock which can deadlock, we get hold of row exclusive lock right at the beginning. -- Best Wishes, Ashutosh Bapat
