From: | Peter Smith <smithpb2250(at)gmail(dot)com> |
---|---|
To: | Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> |
Cc: | Craig Ringer <craig(dot)ringer(at)enterprisedb(dot)com>, Ashutosh Bapat <ashutosh(dot)bapat(dot)oss(at)gmail(dot)com>, Ashutosh Bapat <ashutosh(dot)bapat(at)enterprisedb(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Petr Jelinek <petr(dot)jelinek(at)enterprisedb(dot)com>, Petr Jelinek <petr(at)2ndquadrant(dot)com>, Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>, Ajin Cherian <itsajin(at)gmail(dot)com> |
Subject: | Re: Single transaction in the tablesync worker? |
Date: | 2020-12-23 06:19:19 |
Message-ID: | CAHut+PtQSyxsAvE38r7ib2tLP8triYAKCyCYkLHoJXMrqt7rpA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi Amit.
PSA my v7 WIP patch for the Solution1.
This patch still applies onto the v30 patch set [1] from other 2PC thread:
[1] https://www.postgresql.org/message-id/CAFPTHDYA8yE6tEmQ2USYS68kNt%2BkM%3DSwKgj%3Djy4AvFD5e9-UTQ%40mail.gmail.com
(I understand you would like this to be delivered as a separate patch
independent of v30. I will convert it ASAP)
====
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 v7 DropSubscription cleanup code has been rewritten since v6.
The subscription TAP tests have been executed many (7) times now
without observing any of the race problems that I previously reported
seeing when using the v6 patch.
TODO / Known Issues:
* Help / comments / cleanup
* 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
Attachment | Content-Type | Size |
---|---|---|
v7-0002-WIP-patch-for-the-Solution1.patch | application/octet-stream | 26.6 KB |
v7-0001-2PC-change-tablesync-slot-to-use-same-two_phase-m.patch | application/octet-stream | 1.5 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Bharath Rupireddy | 2020-12-23 06:37:25 | Re: Better client reporting for "immediate stop" shutdowns |
Previous Message | Pavel Stehule | 2020-12-23 06:18:24 | proposal - support tsv output format for psql |