Re: Use durable_unlink for .ready and .done files for WAL segment removal

Michael Paquier <michael@paquier.xyz>

From: Michael Paquier <michael@paquier.xyz>
To: Andres Freund <andres@anarazel.de>
Cc: Postgres hackers <pgsql-hackers@postgresql.org>
Date: 2018-09-28T05:23:31Z
Lists: pgsql-hackers
On Thu, Sep 27, 2018 at 08:40:26PM -0700, Andres Freund wrote:
> On 2018-09-28 12:28:27 +0900, Michael Paquier wrote:
>> While reviewing the archiving code, I have bumped into the fact that
>> XLogArchiveCleanup() thinks that it is safe to do only a plain unlink()
>> for .ready and .done files when removing a past segment.  I don't think
>> that it is a smart move, as on a subsequent crash we may still see
>> those, but the related segment would have gone away.  This is not really
>> a problem for .done files, but it could confuse the archiver to see some
>> .ready files about things that have already gone away.
> 
> Isn't that window fundamentally there anyway?

Sure.  However the point I would like to make is that if we have the
possibility to reduce this window, then we should.
--
Michael

Commits

  1. Ensure cleanup of orphan archive status files