pgsql: Don't ERROR on PreallocXlogFiles() race condition.

From: Noah Misch <noah(at)leadboat(dot)com>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Don't ERROR on PreallocXlogFiles() race condition.
Date: 2021-06-29 01:36:06
Message-ID: E1ly2fW-0002ay-33@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Don't ERROR on PreallocXlogFiles() race condition.

Before a restartpoint finishes PreallocXlogFiles(), a startup process
KeepFileRestoredFromArchive() call can unlink the preallocated segment.
If a CHECKPOINT sql command had elicited the restartpoint experiencing
the race condition, that sql command failed. Moreover, the restartpoint
omitted its log_checkpoints message and some inessential resource
reclamation. Prevent the ERROR by skipping open() of the segment.
Since these consequences are so minor, no back-patch.

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

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/2b3e4672f7602a6bb46a0735a1b41b635508b290

Modified Files
--------------
src/backend/access/transam/xlog.c | 79 +++++++++++++++++++++++++----------
src/backend/replication/walreceiver.c | 4 +-
src/include/access/xlog.h | 2 +-
3 files changed, 58 insertions(+), 27 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Michael Paquier 2021-06-29 02:19:55 pgsql: Add support for LZ4 with compression of full-page writes in WAL
Previous Message Bruce Momjian 2021-06-29 00:59:14 pgsql: doc: Improve PG14 release notes