Re: Skipping logical replication transactions on subscriber side
Noah Misch <noah@leadboat.com>
Attachments
- log-subscription-20220401.tar.xz (application/octet-stream)
On Fri, Apr 01, 2022 at 09:25:52PM +0900, Masahiko Sawada wrote: > > On Fri, Apr 1, 2022 at 4:44 PM Noah Misch <noah@leadboat.com> wrote: > > > src/test/subscription/t/029_on_error.pl has been failing reliably on the five > > > AIX buildfarm members: > > > > > > # poll_query_until timed out executing this query: > > > # SELECT subskiplsn = '0/0' FROM pg_subscription WHERE subname = 'sub' > > > # expecting this output: > > > # t > > > # last actual query output: > > > # f > > > # with stderr: > > > timed out waiting for match: (?^:LOG: done skipping logical replication transaction finished at 0/1D30788) at t/029_on_error.pl line 50. > > > > > > I've posted five sets of logs (2.7 MiB compressed) here: > > > https://drive.google.com/file/d/16NkyNIV07o0o8WM7GwcaAYFQDPTkULkR/view?usp=sharing > Given that "SELECT subskiplsn = '0/0' > FROM pg_subscription WHERE subname = 'sub’” didn't return true, some > value was set to subskiplsn even after the unique key error. > > So I'm guessing that the apply worker could not get the updated value > of the subskiplsn or its MySubscription->skiplsn could not match with > the transaction's finish LSN. Also, given that the test is failing on > all AIX buildfarm members, there might be something specific to AIX. > > Noah, to investigate this issue further, is it possible for you to > apply the attached patch and run the 029_on_error.pl test? The patch > adds some logs to get additional information. Logs attached. I ran this outside the buildfarm script environment. Most notably, I didn't override PG_TEST_TIMEOUT_DEFAULT like my buildfarm configuration does, so the total log size is smaller.
Commits
-
Test ALIGNOF_DOUBLE==4 compatibility under ALIGNOF_DOUBLE==8.
- c1da0acbb06e 15.0 landed
-
Reorder subskiplsn in pg_subscription to avoid alignment issues.
- 79b716cfb7a1 15.0 landed
-
Add ALTER SUBSCRIPTION ... SKIP.
- 208c5d65bbd6 15.0 landed
-
Optionally disable subscriptions on error.
- 705e20f8550c 15.0 cited
-
Update docs of logical replication for commit 8d74fc96db.
- 85c61ba8920b 15.0 landed
-
Respect permissions within logical replication.
- a2ab9c06ea15 15.0 cited
-
Fix regression test failure caused by commit 8d74fc96db.
- 41e66fee0516 15.0 landed
-
Add a view to show the stats of subscription workers.
- 8d74fc96db5f 15.0 landed
-
Add logical change details to logical replication worker errcontext.
- abc0910e2e0a 15.0 landed
-
Rename LOGICAL_REP_MSG_STREAM_END to LOGICAL_REP_MSG_STREAM_STOP.
- 4cd7a1896871 15.0 landed
-
Fix typo in protocol.sgml.
- e1915646658d 14.0 landed
- 0ac1aee0d7d8 15.0 landed
-
Remove unused argument in apply_handle_commit_internal().
- f4b939f1a372 14.0 landed
- 16bd4becee32 15.0 landed
-
Fix replication of in-progress transactions in tablesync worker.
- 0926e96c4934 14.0 cited
-
Reorder pg_sequence columns to avoid alignment issue
- f3b421da5f4a 10.0 cited