Re: Skipping logical replication transactions on subscriber side
Masahiko Sawada <sawada.mshk@gmail.com>
Attachments
- v8-0005-Move-shared-fileset-cleanup-to-before_shmem_exit.patch (application/octet-stream) patch v8-0005
- v8-0003-Add-RESET-command-to-ALTER-SUBSCRIPTION-command.patch (application/octet-stream) patch v8-0003
- v8-0001-Add-logical-changes-details-to-errcontext-of-appl.patch (application/octet-stream) patch v8-0001
- v8-0004-Add-skip_xid-option-to-ALTER-SUBSCRIPTION.patch (application/octet-stream) patch v8-0004
- v8-0002-Add-pg_stat_subscription_errors-statistics-view.patch (application/octet-stream) patch v8-0002
On Wed, Aug 11, 2021 at 5:19 PM Amit Kapila <amit.kapila16@gmail.com> wrote: > > On Wed, Aug 11, 2021 at 11:19 AM Masahiko Sawada <sawada.mshk@gmail.com> wrote: > > > > On Tue, Aug 10, 2021 at 7:18 PM Amit Kapila <amit.kapila16@gmail.com> wrote: > > > ============================================================== > > > > > > 1. While applying DML operations, we are setting up the error context > > > multiple times due to which the context information is not > > > appropriate. The first is set in apply_dispatch and then during > > > processing, we set another error callback slot_store_error_callback in > > > slot_store_data and slot_modify_data. When I forced one of the errors > > > in slot_store_data(), it displays the below information in CONTEXT > > > which doesn't make much sense. > > > > > > 2021-08-10 15:16:39.887 IST [6784] ERROR: incorrect binary data > > > format in logical replication column 1 > > > 2021-08-10 15:16:39.887 IST [6784] CONTEXT: processing remote data > > > for replication target relation "public.test1" column "id" > > > during apply of "INSERT" for relation "public.test1" in > > > transaction with xid 740 committs 2021-08-10 14:44:38.058174+05:30 > > > > Yes, but we cannot change the error context message depending on other > > error context messages. So it seems hard to construct a complete > > sentence in the context message that is okay in terms of English > > grammar. Is the following message better? > > > > CONTEXT: processing remote data for replication target relation > > "public.test1" column “id" > > applying "INSERT" for relation "public.test1” in transaction > > with xid 740 committs 2021-08-10 14:44:38.058174+05:30 > > > > I don't like the proposed text. How about if we combine both and have > something like: "processing remote data during "UPDATE" for > replication target relation "public.test1" column "id" in transaction > id 740 with commit timestamp 2021-08-10 14:44:38.058174+05:30"? For > this, I think we need to remove slot_store_error_callback and > add/change the ApplyErrCallbackArg to include the additional required > information in that callback. Oh, I've never thought about that. That's a good idea. I've attached the updated patches. FYI I've included the patch (v8-0005) that fixes the assertion failure during shared fileset cleanup to make cfbot tests happy. Regards, -- Masahiko Sawada EDB: https://www.enterprisedb.com/
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