Re: could not link file in wal restore lines - Mailing list pgsql-bugs

From David Steele
Subject Re: could not link file in wal restore lines
Date
Msg-id 4b392ab1-d4a5-5557-adf0-ae319e723da5@pgmasters.net
Whole thread Raw
In response to Re: could not link file in wal restore lines  (Zsolt Ero <zsolt.ero@gmail.com>)
Responses Re: could not link file in wal restore lines
List pgsql-bugs
On 7/23/22 12:53, Zsolt Ero wrote:
> On 23. Jul 2022 at 18:43:57, David Steele <david@pgmasters.net 
> <mailto:david@pgmasters.net>> wrote:
>> On 7/23/22 12:39, Zsolt Ero wrote:
>>> > On 23. Jul 2022 at 15:20:32, David Steele <david@pgmasters.net 
>>> <mailto:david@pgmasters.net>
>>> > <mailto:david@pgmasters.net <mailto:david@pgmasters.net>>> wrote:
>>> > Zsolt, can you add --log-level-console=info to your archive_command so
>>> > we can see what parameters are being passed to pgbackrest?
>>>
>>> archive_command = 'pgbackrest --stanza=app --log-level-console=info
>>> archive-push %p'
>>>
>>> on the destination server (where the restore happens). There are no
>>> changes in the log, only 3 lines appear once everything is done. I've
>>> attached the log. Do I need to change this command on the source server?
>>
>> Oops, sorry, I meant the restore_command on the server where you do the
>> restore.
>>
>> You'll need to edit this in postgresql.auto.conf after the pgbackrest
>> restore but before starting PostgreSQL.
 >
 > I did that, attached the new log.

 From this log it looks like pgBackRest is writing to RECOVERYXLOG as I 
expected.

The error happens relatively rarely (18) compared to the number of WAL 
segments fetched (1029). pgBackRest does not write the files in 
question, e.g.

LOG:  could not link file "pg_wal/000000010000015B0000002C" to 
"pg_wal/000000010000015B000000F4": File exists

And the pg_wal directory started empty.

I ran one our standard stress tests on 12.11 (recovering 1592 WAL 
segments) and I did not see the "could not link file" message.

Your system seems to be doing recovery pretty quickly. I wonder if there 
is a race condition in WAL recycling?

One thing you could try is to set wal_recycle = false.

Regards,
-David



pgsql-bugs by date:

Previous
From: Ajin Cherian
Date:
Subject: Re: Excessive number of replication slots for 12->14 logical replication
Next
From: Alex Malek
Date:
Subject: Re: BUG #17556: ts_headline does not correctly find matches when separated by 4,999 words