Re: [PATCH] Fix error message in RemoveWalSummaryIfOlderThan to indicate file removal failure

zengman <zengman@halodbtech.com>

From: zengman <zengman@halodbtech.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>, Junwang Zhao <zhjwpku@gmail.com>
Date: 2026-02-02T03:02:39Z
Lists: pgsql-hackers
> 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?

--
Regards,
Man Zeng

Commits

  1. Fix error message in RemoveWalSummaryIfOlderThan()