Re: Logical slot creation/synchronization on a standby may deadlock with recovery conflict resolution

From: Xuneng Zhou <xunengzhou(at)gmail(dot)com>
To: Bertrand Drouvot <bertranddrouvot(dot)pg(at)gmail(dot)com>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, Andres Freund <andres(at)anarazel(dot)de>, Amit Kapila <amitkapila16(at)gmail(dot)com>, "Zhijie Hou (Fujitsu)" <houzj(dot)fnst(at)fujitsu(dot)com>, shveta malik <shveta(dot)malik(at)gmail(dot)com>
Subject: Re: Logical slot creation/synchronization on a standby may deadlock with recovery conflict resolution
Date: 2026-09-24 11:00:34
Message-ID: CABPTF7UhFbjc0aCB0tdPDAbYNJ9hX5FanuhUNnbcmWif-ZeBgw@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Sep 24, 2026 at 5:28 PM Bertrand Drouvot
<bertranddrouvot(dot)pg(at)gmail(dot)com> wrote:
>
> Hi,
>
> On Thu, Sep 24, 2026 at 03:49:35PM +0800, Xuneng Zhou wrote:
> > Hi hackers,
> >
> > I don't see a clear solution to this potential issue, because the interface
> > is a function, which means that the held snapshots cannot be popped cleanly
> > since they belong to the surrounding executor.
>
> Thanks for the report and reproducers!
>
> Thinking out loud, I wonder if we could add a transient PGPROC state while a
> backend depends on recovery replay. After deadlock_timeout, ResolveRecoveryConflictWithVirtualXIDs()
> could check whether a VXID in its waitlist has that state set and, if so, use the
> existing recovery conflict cancellation path.
>
> Does that make sense to you and others? If so, I can have a look at preparing a
> patch.

The overall direction looks promising to me, and I haven't come up
with a simpler fix. As a side benefit, it could also break the
potential deadlock where 'WAIT' command waits for replay while
recovery waits for the same backend's VXID. It would be good to hear
more echo before heading to implementation.

--
Regards,
Xuneng Zhou
HighGo Software Co., Ltd.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Jakub Wartak 2026-09-24 11:02:35 Re: Continuous re-validation of session credentials
Previous Message Antonin Houska 2026-09-24 10:55:23 Re: REPACK enhancements