agora inbox for [email protected]
help / color / mirror / Atom feedFrom: Antonin Houska <[email protected]>
To: Mihail Nikalayeu <[email protected]>
Cc: Andres Freund <[email protected]>
Cc: [email protected]
Subject: Re: Race conditions in logical decoding
Date: Thu, 22 Jan 2026 11:32:58 +0100
Message-ID: <124728.1769077978@localhost> (raw)
In-Reply-To: <CADzfLwWbawF1pE2fHDXR2O3rdY54v43mRJmOK4pDGWgzAmXwkw@mail.gmail.com>
References: <85833.1768840165@localhost>
<62335.1768897833@localhost>
<5k2dfckyp6zv2fiovosvtbya5onvplgviz5n4kdamxupff4vi2@yytzfnwr2ox7>
<CADzfLwWbawF1pE2fHDXR2O3rdY54v43mRJmOK4pDGWgzAmXwkw@mail.gmail.com>
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
view thread (16+ messages) latest in thread
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected], [email protected], [email protected]
Subject: Re: Race conditions in logical decoding
In-Reply-To: <124728.1769077978@localhost>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox