Re: avoid unnecessary failure to open restored WAL files

From: Fujii Masao <masao(dot)fujii(at)gmail(dot)com>
To: Simon Riggs <simon(at)2ndquadrant(dot)com>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: avoid unnecessary failure to open restored WAL files
Date: 2012-08-08 17:31:22
Message-ID: CAHGQGwFWVQy4LF8nC6U42Y7Ece2LKuAqjq38TgNNk_N5u3LFxw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Aug 8, 2012 at 3:08 AM, Simon Riggs <simon(at)2ndquadrant(dot)com> wrote:
> On 2 August 2012 17:18, Fujii Masao <masao(dot)fujii(at)gmail(dot)com> wrote:
>> Hi,
>>
>> In HEAD and 9.2, the following scenario happens in archive recovery.
>>
>> 1. The archived WAL file is restored onto the temporary file name
>> "RECOVERYXLOG".
>> 2. The restored WAL file is renamed to the correct file name like
>> 000000010000000000000002.
>> 3. The startup process tries to open the temporary file even though
>> it's already been renamed
>> and doesn't exist. This always fails.
>> 4. The startup process retries to open the correct file as a WAL file
>> in pg_xlog directory instead
>> of the archived file. This succeeds.
>>
>> The above failure of file open is unnecessary, so I think we can avoid
>> that. Attached patch
>> changes the startup process so that it opens the correct restored WAL
>> file after restoring the
>> archived WAL file.
>
> Looks to me that the strncpy is backwards and will still fail. Please
> double check.

Oh, you're right. I wrongly placed two arguments "source" and "destination"
of strncpy in the reverse order... Attached is the updated version of the patch.

Regards,

--
Fujii Masao

Attachment Content-Type Size
file_open_failure_v2.patch application/octet-stream 440 bytes

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2012-08-08 18:05:41 Re: bug of pg_trgm?
Previous Message Bruce Momjian 2012-08-08 17:29:32 Re: Git diff patch in context diff format