Re: Single transaction in the tablesync worker?
Peter Smith <smithpb2250@gmail.com>
From: Peter Smith <smithpb2250@gmail.com>
To: Amit Kapila <amit.kapila16@gmail.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2021-01-19T09:01:48Z
Lists: pgsql-hackers
Attachments
- v17-0001-Tablesync-Solution1.patch (application/octet-stream) patch v17-0001
- v17-0002-Tablesync-extra-logging.patch (application/octet-stream) patch v17-0002
Hi Amit. PSA the v17 patch for the Tablesync Solution1. Main differences from v16: + Small refactor for DropSubscription to correct the "make check" deadlock + Added test case + Some comment wording ==== Features: * The tablesync slot is now permanent instead of temporary. * The tablesync slot name is no longer tied to the Subscription slot name. * The tablesync worker is now allowing multiple tx instead of single tx * A new state (SUBREL_STATE_FINISHEDCOPY) is persisted after a successful copy_table in tablesync's LogicalRepSyncTableStart. * If a re-launched tablesync finds state SUBREL_STATE_FINISHEDCOPY then it will bypass the initial copy_table phase. * Now tablesync sets up replication origin tracking in LogicalRepSyncTableStart (similar as done for the apply worker). The origin is advanced when first created. * Cleanup of tablesync resources: - The tablesync slot cleanup (drop) code is added for process_syncing_tables_for_sync functions. - The tablesync replication origin tracking is cleaned process_syncing_tables_for_apply. - A tablesync function to cleanup its own slot/origin is called fro ProcessInterrupts. This is indirectly invoked by DropSubscription/AlterSubscription when they signal the tablesync worker to stop. * Updates to PG docs. * New TAP test case TODO / Known Issues: * None known. --- Kind Regards, Peter Smith. Fujitsu Australia
Commits
-
Fix relcache reference leak introduced by ce0fdbfe97.
- 8a4f9522d0c7 14.0 landed
-
Fix Subscription test added by commit ce0fdbfe97.
- c8b21b037814 14.0 landed
-
Allow multiple xacts during table sync in logical replication.
- ce0fdbfe9722 14.0 landed
-
Logical replication support for initial data copy
- 7c4f52409a8c 10.0 cited