Re: Single transaction in the tablesync worker?
От | Peter Smith |
---|---|
Тема | Re: Single transaction in the tablesync worker? |
Дата | |
Msg-id | CAHut+PsPO2vOp+P7U2szROMy15PKKGanhUrCYQ0ffpy9zG1V1A@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Single transaction in the tablesync worker? (Peter Smith <smithpb2250@gmail.com>) |
Ответы |
RE: Single transaction in the tablesync worker?
Re: Single transaction in the tablesync worker? |
Список | pgsql-hackers |
Hi Amit. PSA the v14 patch for the Tablesync Solution1. Main differences from v13: + Addresses all review comments 1-5, posted 9/Jan [ak9] + Addresses review comment 1, posted 11/Jan [ak11] + Modifications per suggestion [ak11] to handle race scenarios during Drop/AlterSubscription + Changed LOG to WARNING if DropSubscription unable to drop tablesync slot [ak9] = https://www.postgresql.org/message-id/CAA4eK1%2BgUBxKcYWg%2BMCC6Qbw-My%2B2wKUct%2BiFtr-_HgundUUBQ%40mail.gmail.com [ak11] = https://www.postgresql.org/message-id/CAA4eK1KGUt86A7CfuQW6OeDvAhEbVk8VOBJmcoZjrYBn965kOA%40mail.gmail.com ==== 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 slot cleanup (drop) code is added for DropSubscription, AlterSubscription_refresh and for process_syncing_tables_for_sync functions. Drop/AlterSubscription will issue WARNING instead of ERROR in case the slot drop fails. * 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. * The tablesync replication origin tracking is cleaned up during DropSubscription and/or process_syncing_tables_for_apply. * The DropSubscription cleanup code was enhanced (v7+) to take care of any crashed tablesync workers. * The AlterSubscription_refresh (v14+) is now more similar to DropSubscription w.r.t to stopping workers for any "removed" tables. * Updates to PG docs. TODO / Known Issues: * Minor review comments === Also PSA some detailed logging evidence of some test scenarios involving Drop/AlterSubscription: + Test-20210112-AlterSubscriptionRefresh-ok.txt = AlterSubscription_refresh which successfully drops a tablesync slot + Test-20210112-AlterSubscriptionRefresh-warning.txt = AlterSubscription_refresh gives WARNING that it cannot drop the tablesync slot (which no longer exists) + Test-20210112-DropSubscription-warning.txt = DropSubscription with a disassociated slot_name gives a WARNING that it cannot drop the tablesync slot (due to broken connection) --- Kind Regards, Peter Smith. Fujitsu Australia
Вложения
В списке pgsql-hackers по дате отправления: