Re: [BUG] non archived WAL removed during production crash recovery - Mailing list pgsql-bugs

From Michael Paquier
Subject Re: [BUG] non archived WAL removed during production crash recovery
Date
Msg-id 20200424070510.GM33034@paquier.xyz
Whole thread Raw
In response to Re: [BUG] non archived WAL removed during production crash recovery  (Andres Freund <andres@anarazel.de>)
List pgsql-bugs
On Thu, Apr 23, 2020 at 06:48:56PM -0700, Andres Freund wrote:
> But don't we pretty much know this already from the state of the system?
> During crash recovery there's nothing running RemoveOldXLogFiles() but
> the startup process. Right? And in DB_IN_ARCHIVE_RECOVERY it should only
> happen as part of restartpoints (i.e. the checkpointer).
>
> Did you add the new shared state to avoid deducing things from the
> "environment"? If so, it should really be mentioned in the commit
> message & code. Because:

Hmm.  Sorry, I see your point.  The key of the logic here is from
XLogArchiveCheckDone() which could be called from other processes than
the startup process.  There is one code path at the end of a base
backup for backup history files where not using a shared state would
be a problem.
--
Michael

Attachment

pgsql-bugs by date:

Previous
From: David Rowley
Date:
Subject: Re: BUG #15383: Join Filter cost estimation problem in 10.5
Next
From: PG Bug reporting form
Date:
Subject: BUG #16386: drop contraint in inherited table is missing in pg_dump backup