Mihail Nikalayeu <[email protected]> wrote:

> Hello, Andres.
> 
> On Tue, Jan 20, 2026 at 6:50 PM Andres Freund <[email protected]> wrote:
> > I don't think that's enough - during non-timetravel visibility semantics, 
> > you
> > can only look at the clog if the transaction isn't marked as in-progress in
> > the procarray.  ISTM that we need to do that here too?
> 
> Do you mean replace
> > if (unlikely(!TransactionIdDidCommit(builder->committed.xip[i])))
> to
> > if (unlikely(TransactionIdIsInProgress(builder->committed.xip[i]) || 
> > !TransactionIdDidCommit(builder->committed.xip[i])))

This way the synchronous replication gets stuck, as it did when I tried to use
XactLockTableWait(): subscriber cannot confirm replication of certain LSN
because publisher is not able to even finalize the commit (due to the waiting
for the subscriber's confirmation), and therefore publisher it's not able to
decode the data and send it to the subscriber.

-- 
Antonin Houska
Web: https://www.cybertec-postgresql.com


Reply via email to