Hi Amit. PSA my v8 WIP patch for the Solution1.
This has the same code changes as the v7 patch, but the v8 patch can be applied to the current PG OSS master code base. ==== Coded / WIP: * tablesync slot is now permanent instead of temporary. The tablesync slot name is no longer tied to the Subscription slot name. * the tablesync slot cleanup (drop) code is added for DropSubscription and for finish_sync_worker functions * tablesync worked now allowing multiple tx instead of single tx * a new state (SUBREL_STATE_COPYDONE) is persisted after a successful copy_table in LogicalRepSyncTableStart. * if a relaunched tablesync finds the state is SUBREL_STATE_COPYDONE then it will bypass the initial copy_table phase. * tablesync sets up replication origin tracking in LogicalRepSyncTableStart (similar as done for the apply worker). The origin is advanced when first created. * tablesync replication origin tracking is cleaned up during DropSubscription and/or process_syncing_tables_for_apply * The DropSubscription cleanup code was changed lots in v7. The subscription TAP tests have been executed 6x now without observing any race problems that were sometimes seen to happen in the v6 patch. TODO / Known Issues: * Help / comments * There is temporary "!!>>" excessive logging scattered around which I added to help my testing during development * Address review comments --- Kind Regards, Peter Smith. Fujitsu Australia
v8-0001-WIP-patch-for-the-Solution1.patch
Description: Binary data