Fix intermittent BF failures in 035_conflicts.
Amit Kapila <akapila@postgresql.org>
Fix intermittent BF failures in 035_conflicts. This commit addresses two sources of instability in the 035_conflicts test: Unstable VACUUM usage: The test previously relied on VACUUM to remove a deleted column, which can be unreliable due to concurrent background writer or checkpoint activity that may lock the page containing the deleted tuple. Since the test already verifies that replication_slot.xmin has advanced sufficiently to confirm the feature's correctness, so, the VACUUM step is removed to improve test stability. Timing-sensitive retention resumption check: The test includes a check to confirm that retention of conflict-relevant information resumes after setting max_retention_duration to 0. However, in some cases, the apply worker resumes retention immediately after the inactive slot is removed from synchronized_standby_slots, even before max_retention_duration is updated. This can happen if remote changes are applied in under 1ms, causing the test to timeout while waiting for a later log position. To ensure consistent behavior, this commit delays the removal of synchronized_standby_slots until after max_retention_duration is set to 0. Author: Zhijie Hou <houzj.fnst@fujitsu.com> Reviewed-by: shveta malik <shveta.malik@gmail.com> Reviewed-by: Amit Kapila <amit.kapila16@gmail.com> Discussion: https://postgr.es/m/TY4PR01MB16907805DE4816E53C54708159414A@TY4PR01MB16907.jpnprd01.prod.outlook.com
Files
| Path | Change | +/− |
|---|---|---|
| src/test/subscription/t/035_conflicts.pl | modified | +10 −22 |
Discussion
- Conflict detection for update_deleted in logical replication 432 messages · 2024-09-05 → 2025-09-16