RE: Disabled logical replication origin session causes primary key errors - Mailing list pgsql-bugs

From Hayato Kuroda (Fujitsu)
Subject RE: Disabled logical replication origin session causes primary key errors
Date
Msg-id OSCPR01MB14966B223A32363FF8D253D0EF5B82@OSCPR01MB14966.jpnprd01.prod.outlook.com
Whole thread Raw
In response to Re: Disabled logical replication origin session causes primary key errors  (Amit Kapila <amit.kapila16@gmail.com>)
Responses Re: Disabled logical replication origin session causes primary key errors
Re: Disabled logical replication origin session causes primary key errors
List pgsql-bugs
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?

[1]: https://www.postgresql.org/message-id/flat/CALsgZNCGARa2mcYNVTSj9uoPcJo-tPuWUGECReKpNgTpo31_Pw%40mail.gmail.com
[2]: https://www.postgresql.org/message-id/CAJpy0uAa3M9sC3GWTUA%2BYPTnYxEcorFt_7g6rXz05jNcAGdjgQ%40mail.gmail.com

Best regards,
Hayato Kuroda
FUJITSU LIMITED


Attachment

pgsql-bugs by date:

Previous
From: Tomas Vondra
Date:
Subject: Re: BUG #18885: ERROR: corrupt MVNDistinct entry - 2
Next
From: Kirill Reshke
Date:
Subject: Command order bug in pg_dump