| From: | Michael Paquier <michael(at)paquier(dot)xyz> |
|---|---|
| To: | zengman <zengman(at)halodbtech(dot)com> |
| Cc: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Junwang Zhao <zhjwpku(at)gmail(dot)com> |
| Subject: | Re: [PATCH] Fix error message in RemoveWalSummaryIfOlderThan to indicate file removal failure |
| Date: | 2026-02-02 03:34:03 |
| Message-ID: | aYAbKwRWAP5nWFgj@paquier.xyz |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Mon, Feb 02, 2026 at 11:02:39AM +0800, zengman wrote:
> 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?
Funny timing. I've spotted the exact same thing while double-checking
the file two hours ago, where EEXIST should be replaced by ENOENT. I
was going to spawn a new thread about that with Robert in CC.
--
Michael
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Michael Paquier | 2026-02-02 03:54:26 | Incorrect errno used in OpenWalSummaryFile() |
| Previous Message | Junwang Zhao | 2026-02-02 03:26:44 | Re: [PATCH] Fix error message in RemoveWalSummaryIfOlderThan to indicate file removal failure |