Re: "could not open file "pg_wal/…": No such file or directory" potential crashing bug due to race condition between restartpoint and recovery

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: Thomas Crayford <tcrayford(at)salesforce(dot)com>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: "could not open file "pg_wal/…": No such file or directory" potential crashing bug due to race condition between restartpoint and recovery
Date: 2018-09-28 22:59:17
Message-ID: 20180928225917.GB1823@paquier.xyz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Fri, Sep 28, 2018 at 01:02:42PM +0100, Thomas Crayford wrote:
> Ok, thanks for the pointer. It seems like the race condition I talked about
> is still accurate, does that seem right?

KeepFileRestoredFromArchive() looks like a good candidate on the matter
as it removes a WAL segment before replacing it by another with the same
name. I have a hard time understanding why the checkpointer would try
to recycle a segment just recovered though as the startup process would
immediately try to use it. I have not spent more than one hour looking
at potential spots though, which is not much for this kind of race
conditions.

It is also why I am curious about what kind of restore_command you are
using.
--
Michael

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message PG Bug reporting form 2018-09-29 08:30:17 BUG #15411: Unable to uninstall
Previous Message Pradeep Singh 2018-09-28 22:11:11 Regarding "BUG #3995: pqSocketCheck doesn't return"