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
