From bd590f29b9e99a3b81cf793e0a32d95804807ec8 Mon Sep 17 00:00:00 2001 From: Ayush Tiwari Date: Fri, 4 Sep 2026 02:52:51 +0530 Subject: [PATCH v2 2/2] Disable autovacuum in recovery conflict test The test relies on explicit VACUUM FREEZE commands to generate WAL for specific recovery conflict scenarios. Autovacuum can consume dead rows before those commands run, causing the test to miss the intended buffer pin or recovery deadlock conflict. An auto-analyze worker can also hold back xmin while the snapshot conflict case updates its rows. The explicit vacuum then cannot prune them and produces no WAL that conflicts with the standby snapshot. A per-relation setting is insufficient because a worker processing another relation can still hold back xmin. Disable autovacuum for the test node so that only the explicit vacuum commands control when pruning WAL is generated. Reported-by: Alexander Lakhin Discussion: https://postgr.es/m/421c0aee-84c8-4c07-b4b9-263095479755%40gmail.com Discussion: https://postgr.es/m/714729ea-f536-0faf-353b-cbd5c8f241ea%40gmail.com Backpatch-through: 17 --- src/test/recovery/t/031_recovery_conflict.pl | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/test/recovery/t/031_recovery_conflict.pl b/src/test/recovery/t/031_recovery_conflict.pl index ae9434f12a5..d3f4f591661 100644 --- a/src/test/recovery/t/031_recovery_conflict.pl +++ b/src/test/recovery/t/031_recovery_conflict.pl @@ -22,6 +22,9 @@ $node_primary->append_conf( allow_in_place_tablespaces = on log_temp_files = 0 +# The test must control when pruning WAL is generated. +autovacuum = off + # for deadlock test max_prepared_transactions = 10 -- 2.34.1