pg.ddx.io  pgsql-committers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
pgsql: Revert recent changes related to handling of 2PC files at recove
6+ messages / 1 participants
[nested] [flat]

* pgsql: Revert recent changes related to handling of 2PC files at recove
@ 2025-01-17 04:28 Michael Paquier <michael@paquier.xyz>
  0 siblings, 0 replies; 6+ messages in thread

From: Michael Paquier @ 2025-01-17 04:28 UTC (permalink / raw)
  To: pgsql-committers@lists.postgresql.org

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.nmisch@google.com
Backpatch-through: 13

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/a6c70f68cdeb3bed591a2dd7d421bf3536ba5216

Modified Files
--------------
src/backend/access/transam/twophase.c | 175 +++++++++++-----------------------
src/test/recovery/t/009_twophase.pl   |  34 -------
2 files changed, 55 insertions(+), 154 deletions(-)



^ permalink  raw  reply  [nested|flat] 6+ messages in thread

* pgsql: Revert recent changes related to handling of 2PC files at recove
@ 2025-01-17 04:28 Michael Paquier <michael@paquier.xyz>
  0 siblings, 0 replies; 6+ messages in thread

From: Michael Paquier @ 2025-01-17 04:28 UTC (permalink / raw)
  To: pgsql-committers@lists.postgresql.org

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.nmisch@google.com
Backpatch-through: 13

Branch
------
REL_17_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/d1bf86a6221177248669db56f9572bae5add026d

Modified Files
--------------
src/backend/access/transam/twophase.c | 175 +++++++++++-----------------------
src/test/recovery/t/009_twophase.pl   |  34 -------
2 files changed, 55 insertions(+), 154 deletions(-)



^ permalink  raw  reply  [nested|flat] 6+ messages in thread

* pgsql: Revert recent changes related to handling of 2PC files at recove
@ 2025-01-17 04:28 Michael Paquier <michael@paquier.xyz>
  0 siblings, 0 replies; 6+ messages in thread

From: Michael Paquier @ 2025-01-17 04:28 UTC (permalink / raw)
  To: pgsql-committers@lists.postgresql.org

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.nmisch@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(-)



^ permalink  raw  reply  [nested|flat] 6+ messages in thread

* pgsql: Revert recent changes related to handling of 2PC files at recove
@ 2025-01-17 04:28 Michael Paquier <michael@paquier.xyz>
  0 siblings, 0 replies; 6+ messages in thread

From: Michael Paquier @ 2025-01-17 04:28 UTC (permalink / raw)
  To: pgsql-committers@lists.postgresql.org

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.nmisch@google.com
Backpatch-through: 13

Branch
------
REL_15_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/42c900d31e57419359a2838861865622cf470489

Modified Files
--------------
src/backend/access/transam/twophase.c | 16 ++++++++--------
src/test/recovery/t/009_twophase.pl   | 23 -----------------------
2 files changed, 8 insertions(+), 31 deletions(-)



^ permalink  raw  reply  [nested|flat] 6+ messages in thread

* pgsql: Revert recent changes related to handling of 2PC files at recove
@ 2025-01-17 04:28 Michael Paquier <michael@paquier.xyz>
  0 siblings, 0 replies; 6+ messages in thread

From: Michael Paquier @ 2025-01-17 04:28 UTC (permalink / raw)
  To: pgsql-committers@lists.postgresql.org

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.nmisch@google.com
Backpatch-through: 13

Branch
------
REL_14_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/060f9f5ea53752736fa5b3b7bf5779b257265b62

Modified Files
--------------
src/backend/access/transam/twophase.c | 16 ++++++++--------
src/test/recovery/t/009_twophase.pl   | 25 +------------------------
2 files changed, 9 insertions(+), 32 deletions(-)



^ permalink  raw  reply  [nested|flat] 6+ messages in thread

* pgsql: Revert recent changes related to handling of 2PC files at recove
@ 2025-01-17 04:28 Michael Paquier <michael@paquier.xyz>
  0 siblings, 0 replies; 6+ messages in thread

From: Michael Paquier @ 2025-01-17 04:28 UTC (permalink / raw)
  To: pgsql-committers@lists.postgresql.org

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.nmisch@google.com
Backpatch-through: 13

Branch
------
REL_13_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/4d6d7bdc064201076d2cf361c779b0a3dd4fafa9

Modified Files
--------------
src/backend/access/transam/twophase.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)



^ permalink  raw  reply  [nested|flat] 6+ messages in thread


end of thread, other threads:[~2025-01-17 04:28 UTC | newest]

Thread overview: 6+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2025-01-17 04:28 pgsql: Revert recent changes related to handling of 2PC files at recove Michael Paquier <michael@paquier.xyz>
2025-01-17 04:28 pgsql: Revert recent changes related to handling of 2PC files at recove Michael Paquier <michael@paquier.xyz>
2025-01-17 04:28 pgsql: Revert recent changes related to handling of 2PC files at recove Michael Paquier <michael@paquier.xyz>
2025-01-17 04:28 pgsql: Revert recent changes related to handling of 2PC files at recove Michael Paquier <michael@paquier.xyz>
2025-01-17 04:28 pgsql: Revert recent changes related to handling of 2PC files at recove Michael Paquier <michael@paquier.xyz>
2025-01-17 04:28 pgsql: Revert recent changes related to handling of 2PC files at recove Michael Paquier <michael@paquier.xyz>

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox