Re: [PATCH] Fix error message in RemoveWalSummaryIfOlderThan to indicate file removal failure
Junwang Zhao <zhjwpku@gmail.com>
From: Junwang Zhao <zhjwpku@gmail.com>
To: zengman <zengman@halodbtech.com>
Cc: Michael Paquier <michael@paquier.xyz>,
pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2026-02-02T03:26:44Z
Lists: pgsql-hackers
On Mon, Feb 2, 2026 at 11:02 AM zengman <zengman@halodbtech.com> wrote:
>
> > Likely so. This one should be backpatched, as the error generated
> > could be confusing if faced. That's very unlikely so, still.. I'll
> > look at other places in the tree for similar inconsistencies, while on
> > it.
>
> Hi Michael,
>
> Thank you for helping to address this! I’ve gone back and reviewed the code, and noticed `OpenWalSummaryFile`:
> ```
> File
> OpenWalSummaryFile(WalSummaryFile *ws, bool missing_ok)
> {
> char path[MAXPGPATH];
> File file;
>
> snprintf(path, MAXPGPATH,
> XLOGDIR "/summaries/%08X%08X%08X%08X%08X.summary",
> ws->tli,
> LSN_FORMAT_ARGS(ws->start_lsn),
> LSN_FORMAT_ARGS(ws->end_lsn));
>
> file = PathNameOpenFile(path, O_RDONLY);
> if (file < 0 && (errno != EEXIST || !missing_ok))
> ereport(ERROR,
> (errcode_for_file_access(),
> errmsg("could not open file \"%s\": %m", path)));
>
> return file;
> }
> ```
> I’m thinking of changing `errno != EEXIST` to `errno != ENOENT` here — would you think this adjustment is appropriate?
+1 for this change, per the function comment.
```
As an exception, if missing_ok = true and the trouble is specifically
that the file does not exist, it will not throw an error and will
return a value less than 0.
```
>
> --
> Regards,
> Man Zeng
--
Regards
Junwang Zhao
Commits
-
Fix error message in RemoveWalSummaryIfOlderThan()
- 5995135f1303 17.8 landed
- ab61f00874e5 18.2 landed
- a9afa021e95f 19 (unreleased) landed