From: | email(at)piotr-stefaniak(dot)me |
---|---|
To: | pgsql-bugs(at)postgresql(dot)org |
Cc: | email(at)piotr-stefaniak(dot)me |
Subject: | BUG #14806: WAL replay on standby: could not link file "pg_xlog/...4C" to "pg_xlog/...D1": File exists |
Date: | 2017-09-08 11:58:06 |
Message-ID: | 20170908115806.25640.43192@wrigleys.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
The following bug has been logged on the website:
Bug reference: 14806
Logged by: Piotr Stefaniak
Email address: email(at)piotr-stefaniak(dot)me
PostgreSQL version: 9.4.13
Operating system: FreeBSD 10.3
Description:
We have an archive-only replicating standby. During intensive WAL replay, it
sometimes happens that the standby will say "58P02: could not link file
"pg_xlog/[...]" to "pg_xlog/[...]": File exists" as in the example below. It
looks like some kind of race condition. I'm pretty convinced that nothing,
except the standby itself, is modifying the contents of pg_xlog when it
happens (or anytime else). log_line_prefix is '%t [%p]: [%l] %d %h %u '.
2017-08-25 22:12:08 CEST [30660]: [4873] LOG: 00000: restored log file
"0000000100001560000000D0" from archive
2017-08-25 22:12:08 CEST [30660]: [4874] LOCATION: RestoreArchivedFile,
xlogarchive.c:254
2017-08-25 22:12:08 CEST [30660]: [4875] DEBUG: 00000: got WAL segment
from archive
2017-08-25 22:12:08 CEST [30660]: [4876] LOCATION: XLogFileReadAnyTLI,
xlog.c:3594
2017-08-25 22:12:09 CEST [30660]: [4877] LOG: 00000: restored log file
"0000000100001560000000D1" from archive
2017-08-25 22:12:09 CEST [30660]: [4878] LOCATION: RestoreArchivedFile,
xlogarchive.c:254
2017-08-25 22:12:09 CEST [30923]: [7638] DEBUG: 00000: attempting to
remove WAL segments older than log file 000000000000155D00000071
2017-08-25 22:12:09 CEST [30923]: [7639] LOCATION: RemoveOldXlogFiles,
xlog.c:3778
2017-08-25 22:12:09 CEST [30660]: [4879] DEBUG: 00000: got WAL segment
from archive
2017-08-25 22:12:09 CEST [30660]: [4880] LOCATION: XLogFileReadAnyTLI,
xlog.c:3594
2017-08-25 22:12:09 CEST [30923]: [7640] LOG: 58P02: could not link file
"pg_xlog/000000010000155C0000004C" to "pg_xlog/0000000100001560000000D1":
File exists
2017-08-25 22:12:09 CEST [30923]: [7641] LOCATION:
durable_link_or_rename, fd.c:541
2017-08-25 22:12:09 CEST [30923]: [7642] DEBUG: 00000: removing
transaction log file "000000010000155C0000004C"
2017-08-25 22:12:09 CEST [30923]: [7643] LOCATION: RemoveXlogFile,
xlog.c:3864
2017-08-25 22:12:09 CEST [30923]: [7644] DEBUG: 00000: recycled
transaction log file "000000010000155C0000004D"
2017-08-25 22:12:09 CEST [30923]: [7645] LOCATION: RemoveXlogFile,
xlog.c:3849
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2017-09-08 14:24:45 | Re: BUG #14806: WAL replay on standby: could not link file "pg_xlog/...4C" to "pg_xlog/...D1": File exists |
Previous Message | Michael Paquier | 2017-09-08 07:32:18 | Re: BUG #14803: use receiverPtr as the endptr to call KeepLogSeg(endptr, &_logSegNo) in CreateRestartPoint |