Re: Disabled logical replication origin session causes primary key errors

From: vignesh C <vignesh21(at)gmail(dot)com>
To: "Hayato Kuroda (Fujitsu)" <kuroda(dot)hayato(at)fujitsu(dot)com>
Cc: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>, Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>, Shawn McCoy <shawn(dot)the(dot)mccoy(at)gmail(dot)com>, "pgsql-bugs(at)lists(dot)postgresql(dot)org" <pgsql-bugs(at)lists(dot)postgresql(dot)org>, "drewwcallahan(at)gmail(dot)com" <drewwcallahan(at)gmail(dot)com>, "scott(at)meads(dot)us" <scott(at)meads(dot)us>
Subject: Re: Disabled logical replication origin session causes primary key errors
Date: 2025-04-21 16:17:12
Message-ID: CALDaNm205GuDN4uvu=i5FF0MbJP8mD_TsPyO0mG1nH38dfE9vA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Mon, 21 Apr 2025 at 15:38, Hayato Kuroda (Fujitsu)
<kuroda(dot)hayato(at)fujitsu(dot)com> wrote:
>
> Dear members,
>
> Thanks for reporting the issue.
>
> > Right. We have wrongly assumed in that commit that the apply worker
> > will exit after an ERROR, but as shown by this case, the ERROR could
> > be silently handled. So, +1, for moving replication origin reset to
> > PG_CATCH in start_apply.
>
> I was an author of original commit, so let me take initiative. When I was working
> for 3f28b2fcac, I could not find path which ERROR is reported but worker can
> survive so that I added replorigin_reset() in apply_error_callback(). The reported
> case, however, the exception could be raised but the insert itself is committed.
> In this case worker can continue working.
>
> Attached patches have proposed changes. I did 1) meson test, 2) workloads provided
> in [1], and 3) manual tests done in original thread [2], and all of them could be
> passed. The version is 2 because of the self-reviewing.
>
> One note is that geterrlevel() is removed for HEAD patch but retained for PG16/PG17.
> The function is exported, and APIs cannot be changed in back branches.
>
> How do you feel?

I was able to reproduce the issue with the steps suggested by Shawn
and your patch fixes the issue. Your suggested changes look good. One
thought, do you feel we should include a test for this.

Regards,
Vignesh

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Masahiko Sawada 2025-04-21 17:00:05 Re: Disabled logical replication origin session causes primary key errors
Previous Message Tom Lane 2025-04-21 14:56:43 Re: Command order bug in pg_dump