Re: [BUG] non archived WAL removed during production crash recovery

Michael Paquier <michael@paquier.xyz>

From: Michael Paquier <michael@paquier.xyz>
To: Jehan-Guillaume de Rorthais <jgdr@dalibo.com>
Cc: Kyotaro Horiguchi <horikyota.ntt@gmail.com>, masao.fujii@oss.nttdata.com, pgsql-bugs@lists.postgresql.org
Date: 2020-04-21T23:07:52Z
Lists: pgsql-bugs, pgsql-hackers
On Wed, Apr 22, 2020 at 12:00:22AM +0200, Jehan-Guillaume de Rorthais wrote:
> That leads me an idea where we would keep the ControlFile data up-to-date in
> shared memory. There's a few duplicates between ControlFile and XLogCtl, so
> maybe it could make the code a little simpler at some other places than just
> fixing $SUBJECT using DBState? I'm not sure of the implications and impacts
> though. This seems way bigger than the current fix and with many traps on the
> way. Maybe we could discuss this in another thread if you think it deserves it?

It seems to me that this could have wider applications than just the
recovery state, no?  I would recommend to keep this discussion on a
separate thread to give more visibility to the topic.
--
Michael

Commits

  1. Fix interpolation in test name.

  2. Add more TAP coverage for archive status with crash recovery of standbys

  3. Fix handling of WAL segments ready to be archived during crash recovery

  4. Fix WAL recycling on standbys depending on archive_mode