Re: logical replication seems broken

From: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
To: Erik Rijkers <er(at)xs4all(dot)nl>
Cc: "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: logical replication seems broken
Date: 2021-02-13 10:49:43
Message-ID: CAA4eK1+d_D_5YfMsKrr-u9yemkF4e1Wz3WKRrnppBdFUpojD8Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, Feb 12, 2021 at 10:00 PM <er(at)xs4all(dot)nl> wrote:
>
> > On 02/12/2021 1:51 PM Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> wrote:
> >
> >
> > On Fri, Feb 12, 2021 at 6:04 PM Erik Rijkers <er(at)xs4all(dot)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]).
>
> Hi,
>
> Here is a test program. Careful, it deletes stuff. And it will need some changes:
>

Thanks for sharing the test. I think I have found the problem.
Actually, it was an existing code problem exposed by the commit
ce0fdbfe97. In pgoutput_begin_txn(), we were sometimes sending the
prepare_write ('w') message but then the actual message was not being
sent. This was the case when we didn't found the origin of a txn. This
can happen after that commit because we have now started using origins
for tablesync workers as well and those origins are removed once the
tablesync workers are finished. We might want to change the behavior
related to the origin messages as indicated in the comments but for
now, fixing the existing code.

Can you please test if the attached fixes the problem at your end as well?

--
With Regards,
Amit Kapila.

Attachment Content-Type Size
fix_origin_message_1.patch application/octet-stream 1.4 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Greg Stark 2021-02-13 11:35:07 Re: pg13.2: invalid memory alloc request size NNNN
Previous Message Mark Rofail 2021-02-13 10:49:20 Re: [HACKERS] GSoC 2017: Foreign Key Arrays