Re: Conflict detection for update_deleted in logical replication
shveta malik <shveta.malik@gmail.com>
On Thu, Aug 7, 2025 at 6:05 PM Dilip Kumar <dilipbalaut@gmail.com> wrote: > > On Mon, Aug 4, 2025 at 3:11 PM Amit Kapila <amit.kapila16@gmail.com> wrote: > > > > On Mon, Aug 4, 2025 at 11:46 AM shveta malik <shveta.malik@gmail.com> wrote: > > > > > > 7) > > > Shall we rename 'max_conflict_retention_duration' to > > > 'max_conflict_info_retention_duration' as the latter one is more > > > clear? > > > > > > > Before bikeshedding on the name of this option, I would like us to > > once again consider whether we should provide this option at > > subscription-level or GUC? > > > > The rationale behind considering it as a subscription option is that > > the different subscriptions may have different requirements for dead > > tuple retention which means that for some particular subscription, the > > workload may not be always high which means that even if temporarily > > the lag_duration (of apply) has exceeded the new option's value, it > > should become okay. So, in such a case users may not want to configure > > max_conflict_retention_duration for a subscription which would > > otherwise lead to stop detection of update_deleted conflict for that > > subscription. > > Yes valid point, and it's also possible that for some subscription > user is okay to not retain dead tuple if it crosses certain duration > OTOH for some subscription it is too critical to retain dead tuple > even if user has to take some performance hit, so might want to have > higher threshold for those slots. > > > The other point is that it is only related to the retain_dead_tuples > > option of the subscription, so providing this new option at the same > > level would appear consistent. > > Yes that's a valid argument, because if the user is setting retain > dead tuples for subscription then only they need to consider setting > duration. > > > I remember that previously Sawada-San has advocated it to provide as > > GUC but I think the recent tests suggest that users should define > > pub-sub topology carefuly to enable retain_dead_tuples option as even > > mentioned in docs[2], so, it is worth considering to provide it at > > subscription-level. > > IMHO, it should be fine to provide the subscription option first and > if we see complaints about inconvenience we may consider GUC as well > in the future. +1 thanks Shveta
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