Re: Conflict detection for update_deleted in logical replication
Dilip Kumar <dilipbalaut@gmail.com>
On Thu, Jul 3, 2025 at 10:43 AM Amit Kapila <amit.kapila16@gmail.com> wrote: > > On Thu, Jul 3, 2025 at 10:26 AM Dilip Kumar <dilipbalaut@gmail.com> wrote: > > > > On Wed, Jul 2, 2025 at 12:58 PM Zhijie Hou (Fujitsu) > > <houzj.fnst@fujitsu.com> wrote: > > > > > > > > During local testing, I discovered a bug caused by my oversight in assigning > > > the new xmin to slot.effective, which resulted in dead tuples remaining > > > non-removable until restart. I apologize for the error and have provided > > > corrected patches. Kindly use the latest patch set for performance testing. > > > > You changes related to write barrier LGTM, however I have question > > regarding below change, IIUC, in logical replication > > MyReplicationSlot->effective_xmin should be the xmin value which has > > been flushed to the disk, but here we are just setting "data.xmin = > > new_xmin;" and marking the slot dirty so I believe its not been yet > > flushed to the disk right? > > > > Yes, because this is a physical slot and we need to follow > PhysicalConfirmReceivedLocation()/PhysicalReplicationSlotNewXmin(). > The patch has kept a comment in advance_conflict_slot_xmin() as to why > it is okay not to flush the slot immediately. Oh right, I forgot its physical slot. I think we are good, thanks. -- Regards, Dilip Kumar Google
Commits
-
Fix intermittent BF failures in 035_conflicts.
- 0f42206531b3 19 (unreleased) landed
-
Resume conflict-relevant data retention automatically.
- 0d48d393d465 19 (unreleased) landed
-
Fix intermittent test failure introduced in 6456c6e2c4.
- 01d793698f59 19 (unreleased) landed
-
Fix Coverity issue reported in commit a850be2fe.
- 5ac3c1ac22cb 19 (unreleased) landed
-
Add test to prevent premature removal of conflict-relevant data.
- 6456c6e2c4ad 19 (unreleased) landed
-
Post-commit review fixes for 228c370868.
- 1f7e9ba3ac4e 19 (unreleased) landed
-
Add max_retention_duration option to subscriptions.
- a850be2fe653 19 (unreleased) landed
-
Detect and report update_deleted conflicts.
- fd5a1a0c3e56 19 (unreleased) landed
-
Preserve conflict-relevant data during logical replication.
- 228c37086855 19 (unreleased) landed
-
Integrate FullTransactionIds deeper into two-phase code
- 62a17a92833d 19 (unreleased) cited
-
Improve checks for GUC recovery_target_timeline
- fd7d7b719137 19 (unreleased) cited
-
Prevent excessive delays before launching new logrep workers.
- fd519419c948 18.0 cited
-
Keep WAL segments by slot's last saved restart LSN
- ca307d5cec90 18.0 cited
-
Rework some code handling pg_subscription data in psql and pg_dump
- 08691ea958c2 18.0 cited
-
Use generateClonedIndexStmt to propagate CREATE INDEX to partitions.
- 68dfecbef210 18.0 cited