Re: logical replication seems broken

Amit Kapila <amit.kapila16@gmail.com>

From: Amit Kapila <amit.kapila16@gmail.com>
To: Erik Rijkers <er@xs4all.nl>
Cc: "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2021-02-12T12:51:53Z
Lists: pgsql-hackers
On Fri, Feb 12, 2021 at 6:04 PM Erik Rijkers <er@xs4all.nl> wrote:
>
> Hello,
>
> I am seeing errors in replication in a test program that I've been running for years with very little change (since 2017, really [1]).
>
> The symptom:
> HEAD-replication fails (most of the time) when cascading 3 instances (master+2 replicas).
>
> HEAD-replication works with 2 instances (master+replica).
>
> I have also compiled a server on top of 4ad31bb2ef25 (avoiding some recent changes) - and this server runs the same test program without failure; so I think the culprit might be somewhere in those changes.
>

Oh, if you are running this on today's HEAD then the recent commit
bff456d7a0 could be the culprit but not sure without knowing the
details.

>  Or (always possible) there might be something my testing does wrong - but then again, I do this test a few times every week, and it never fails.
>

Do you expect anything in particular while running this test, any
expected messages? What is exactly failing?

> This weekend I can dig into it some more (make a self-sufficient example) but I thought I'd mention it already. perhaps one of you see the light immediately...
>

That would be really helpful.

-- 
With Regards,
Amit Kapila.



Commits

  1. Remove the unnecessary PrepareWrite in pgoutput.

  2. Allow multiple xacts during table sync in logical replication.

  3. Stop demanding that top xact must be seen before subxact in decoding.