pg.ddx.io  pgsql-committers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
pgsql: Skip WAL recycling and preallocation during archive recovery.
3+ messages / 2 participants
[nested] [flat]

* pgsql: Skip WAL recycling and preallocation during archive recovery.
@ 2021-06-29 01:36 Noah Misch <noah@leadboat.com>
  0 siblings, 0 replies; 3+ messages in thread

From: Noah Misch @ 2021-06-29 01:36 UTC (permalink / raw)
  To: pgsql-committers@lists.postgresql.org

Skip WAL recycling and preallocation during archive recovery.

The previous commit addressed the chief consequences of a race condition
between InstallXLogFileSegment() and KeepFileRestoredFromArchive().  Fix
three lesser consequences.  A spurious durable_rename_excl() LOG message
remained possible.  KeepFileRestoredFromArchive() wasted the proceeds of
WAL recycling and preallocation.  Finally, XLogFileInitInternal() could
return a descriptor for a file that KeepFileRestoredFromArchive() had
already unlinked.  That felt like a recipe for future bugs.

Discussion: https://postgr.es/m/20210202151416.GB3304930@rfd.leadboat.com

Branch
------
master

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

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



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

* pgsql: Skip WAL recycling and preallocation during archive recovery.
@ 2025-04-06 06:51 Michael Paquier <michael@paquier.xyz>
  0 siblings, 0 replies; 3+ messages in thread

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

Skip WAL recycling and preallocation during archive recovery.

The previous commit addressed the chief consequences of a race condition
between InstallXLogFileSegment() and KeepFileRestoredFromArchive().  Fix
three lesser consequences.  A spurious durable_rename_excl() LOG message
remained possible.  KeepFileRestoredFromArchive() wasted the proceeds of
WAL recycling and preallocation.  Finally, XLogFileInitInternal() could
return a descriptor for a file that KeepFileRestoredFromArchive() had
already unlinked.  That felt like a recipe for future bugs.

This commit has been applied as of cc2c7d65fc27 in v15 and newer
versions.  This is required on stable branches of v13 and v14 to fix a
regression reported by Noah Misch, introduced by 1f95181b44c8, causing
spurious failures in archive recovery (neither streaming nor archive
recovery) with concurrent restartpoints.  The backpatched versions of
the patches have been aligned on these branches by me, Noah Misch is the
author.  Tests have been conducted by the both of us.

Note that this commit is known to have introduced a regression of its
own.  This is fixed by the commit following this one, and not grouped in
a single commit to keep the commit history consistent across all
branches.

Reported-by: Arun Thirupathi
Author: Noah Misch <noah@leadboat.com>
Discussion: https://postgr.es/m/20210202151416.GB3304930@rfd.leadboat.com
Discussion: https://postgr.es/m/20250306193013.36.nmisch@google.com
Backpatch-through: 13

Branch
------
REL_14_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/014a508009dfa60c685410a870e471c4486a6d58
Author: Noah Misch <noah@leadboat.com>

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



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

* pgsql: Skip WAL recycling and preallocation during archive recovery.
@ 2025-04-06 06:51 Michael Paquier <michael@paquier.xyz>
  0 siblings, 0 replies; 3+ messages in thread

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

Skip WAL recycling and preallocation during archive recovery.

The previous commit addressed the chief consequences of a race condition
between InstallXLogFileSegment() and KeepFileRestoredFromArchive().  Fix
three lesser consequences.  A spurious durable_rename_excl() LOG message
remained possible.  KeepFileRestoredFromArchive() wasted the proceeds of
WAL recycling and preallocation.  Finally, XLogFileInitInternal() could
return a descriptor for a file that KeepFileRestoredFromArchive() had
already unlinked.  That felt like a recipe for future bugs.

This commit has been applied as of cc2c7d65fc27 in v15 and newer
versions.  This is required on stable branches of v13 and v14 to fix a
regression reported by Noah Misch, introduced by 1f95181b44c8, causing
spurious failures in archive recovery (neither streaming nor archive
recovery) with concurrent restartpoints.  The backpatched versions of
the patches have been aligned on these branches by me, Noah Misch is the
author.  Tests have been conducted by the both of us.

Note that this commit is known to have introduced a regression of its
own.  This is fixed by the commit following this one, and not grouped in
a single commit to keep the commit history consistent across all
branches.

Reported-by: Arun Thirupathi
Author: Noah Misch <noah@leadboat.com>
Discussion: https://postgr.es/m/20210202151416.GB3304930@rfd.leadboat.com
Discussion: https://postgr.es/m/20250306193013.36.nmisch@google.com
Backpatch-through: 13

Branch
------
REL_13_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/a5b0c06daae96260dc418278acddd0496214892b
Author: Noah Misch <noah@leadboat.com>

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



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


end of thread, other threads:[~2025-04-06 06:51 UTC | newest]

Thread overview: 3+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2021-06-29 01:36 pgsql: Skip WAL recycling and preallocation during archive recovery. Noah Misch <noah@leadboat.com>
2025-04-06 06:51 pgsql: Skip WAL recycling and preallocation during archive recovery. Michael Paquier <michael@paquier.xyz>
2025-04-06 06:51 pgsql: Skip WAL recycling and preallocation during archive recovery. 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