Re: Local visibility with logical decoding - Mailing list pgsql-hackers

From Marko Tiikkaja
Subject Re: Local visibility with logical decoding
Date
Msg-id CAL9smLDKG+mxkxUyAvD5qMZMkb_EbGQyDryJyZUCrKo-QSxO8A@mail.gmail.com
Whole thread Raw
In response to Re: Local visibility with logical decoding  (Antonin Houska <ah@cybertec.at>)
List pgsql-hackers
On Mon, Jul 20, 2020 at 7:36 PM Antonin Houska <ah@cybertec.at> wrote:
Marko Tiikkaja <marko@joh.to> wrote:

> It appears that when logical decoding sends out the data from the output
> plugin, it is not guaranteed that the decoded transaction's effects are
> visible on the source server.  Is this the way it's supposed to work?

Can you please share the test that indicates this behavior? As far as I
understand, the transaction must have been committed before the output plugin
starts to receive the changes.

I don't have a reliable test program, but you can reproduce quite easily with test_decoding if you put a breakpoint before the SyncRepWaitForLSN() call in src/backend/access/transam/xact.c.  pg_logicalrecv will see the changes while the session is sitting on the breakpoint, and not finishing its commit.


-marko

pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: Allow ERROR from heap_prepare_freeze_tuple to be downgraded to WARNING
Next
From: Tomas Vondra
Date:
Subject: Re: Default setting for enable_hashagg_disk