Revert recent changes related to handling of 2PC files at recovery This commit reverts 8f67f994e8ea (down to v13) and c3de0f9eed38 (down to v17), as these are proving to not be completely correct regarding two aspects: - In v17 and newer branches, c3de0f9eed38's check for epoch handling is incorrect, and does not correctly handle frozen epochs. A logic closer to widen_snapshot_xid() should be used. The 2PC code should try to integrate deeper with FullTransactionIds, 5a1dfde8334b being not enough. - In v13 and newer branches, 8f67f994e8ea is a workaround for the real issue, which is that we should not attempt CLOG lookups without reaching consistency. This exists since 728bd991c3c4, and this is reachable with ProcessTwoPhaseBuffer() called by restoreTwoPhaseData() at the beginning of recovery.
Per discussion with Noah Misch. Discussion: https://postgr.es/m/20250116010051.f3.nmi...@google.com Backpatch-through: 13 Branch ------ REL_16_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/4d72357c40ee0abfa5aa9361683aa08e257418c5 Modified Files -------------- src/backend/access/transam/twophase.c | 16 ++++++++-------- src/test/recovery/t/009_twophase.pl | 23 ----------------------- 2 files changed, 8 insertions(+), 31 deletions(-)