Re: failures in t/031_recovery_conflict.pl on CI
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andres Freund <andres@anarazel.de>
Cc: Robert Haas <robertmhaas@gmail.com>, pgsql-hackers@postgresql.org,
Thomas Munro <thomas.munro@gmail.com>,
Andrew Dunstan <andrew@dunslane.net>
Date: 2022-05-08T17:59:09Z
Lists: pgsql-hackers
Andres Freund <andres@anarazel.de> writes: > On 2022-05-08 11:28:34 -0400, Tom Lane wrote: >> Per lapwing's latest results [1], this wasn't enough. I'm again thinking >> we should pull the whole test from the back branches. > That failure is different from the earlier failures though. I don't think it's > a timing issue in the test like the deadlock check one. I rather suspect it's > indicative of further problems in this area. Yeah, that was my guess too. > Potentially the known problem > with RecoveryConflictInterrupt() running in the signal handler? I think Thomas > has a patch for that... Maybe; or given that it's on v10, it could be telling us about some yet-other problem we perhaps solved since then without realizing it needed to be back-patched. > One failure in ~20 runs, on one animal doesn't seem worth disabling the test > for. No one is going to thank us for shipping a known-unstable test case. It does nothing to fix the problem; all it will lead to is possible failures during package builds. I have no idea whether any packagers use "make check-world" rather than just "make check" while building. But if they do, even fairly low-probability failures can be problematic. (I still carry the scars I acquired while working at Red Hat and being responsible for packaging mysql: at least back then, their test suite was full of cases that mostly worked fine, except when getting stressed in Red Hat's build farm. Dealing with a test suite that fails 50% of the time under load, while trying to push out an urgent security fix, is NOT a pleasant situation.) I'm happy to have this test in the stable branches once we have committed fixes that address all known problems. Until then, it will just be a nuisance for anyone who is not a developer working on those problems. regards, tom lane
Commits
-
Disable 031_recovery_conflict.pl until after minor releases.
- 390b489eff76 10.21 landed
- 4caa29414d60 11.16 landed
- 1e1542833e8c 12.11 landed
- 6348e4685068 13.7 landed
- 55e5a5e0fa16 14.3 landed
-
Temporarily skip recovery deadlock test in back branches.
- 441fa7a63ad4 10.21 landed
- fb965ab0f641 11.16 landed
- 26f9e21cb63e 12.11 landed
- 4e39957e6eb5 13.7 landed
- f40d362a667f 14.3 landed
-
Backpatch addition of pump_until() more completely.
- 47f47a8d4738 11.16 landed
- fbf659bc4040 12.11 landed
- 6ab90d215afc 13.7 landed
- 7fa95bb0ac8e 14.3 landed
-
Fix timing issue in deadlock recovery conflict test.
- 3197e0f5ae9d 10.21 landed
- 7a1267f9fe74 11.16 landed
- 512d76f6dbda 12.11 landed
- 8a3a8d9f103e 13.7 landed
- 5136967f1eb1 14.3 landed
- 9e6b7b45ca92 15.0 landed
-
Backpatch 031_recovery_conflict.pl.
- b1f35a36e6d5 10.21 landed
- 25d5494e2841 11.16 landed
- a5ede13916f3 12.11 landed
- 0446d3bf3909 13.7 landed
- f74496dd611e 14.3 landed
-
Fix possibility of self-deadlock in ResolveRecoveryConflictWithBufferPin().
- cbc47ad7ef60 10.21 landed
- 9cda785b4ea3 11.16 landed
- edfc03ec91f2 12.11 landed
- 57c5ad168be1 13.7 landed
- 9ab3b2bdbb5d 14.3 landed
- 8f1537d10e83 15.0 landed
-
Backpatch addition of wait_for_log(), pump_until().
- e8a0cf9b20a1 10.21 landed
- 2adb8debe5aa 11.16 landed
- 90abe1e17f9d 13.7 landed
- 5c8b14a71d31 12.11 landed
- 5ab8e8014801 14.3 landed
-
Add tests for recovery deadlock conflicts.
- 21e184403bf9 15.0 landed
-
Phase 3 of pgindent updates.
- 382ceffdf7f6 10.0 cited