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.
Regards,
--
Bertrand Drouvot
PostgreSQL Contributors Team
RDS Open Source Databases
Amazon Web Services: https://aws.amazon.com