> tadarida just reported this [1]:
>
> 2021-11-11 14:40:40.040 CET [29620:388] 023_cic_2pc.pl ERROR: could not read
> two-phase state from WAL at 0/1716C68
>
> That error message is remarkably unhelpful, and I think unnecessarily so.
> Why the heck isn't XlogReadTwoPhaseData passing on the error string
> that it just got from XLogReadRecord?
>
> Now, XLogReadRecord's API spec does say it might return NULL errormsg
> if "the page read callback already reported the error". But there's
> no sign of that in tadarida's log. Anyway, I have in mind to do
>
> ereport(ERROR,
> (errcode_for_file_access(),
> - errmsg("could not read two-phase state from WAL at %X/%X",
> - LSN_FORMAT_ARGS(lsn))));
> + errmsg("could not read two-phase state from WAL at %X/%X: %s",
> + LSN_FORMAT_ARGS(lsn),
> + errormsg ? errormsg : "(no details available)")));
>
Noah recently proposed the same [0]. But responders like me started to complain
about other places without error reporting around xlog reading.
Probably I had to be more clear on the matter. Error logging certainly worth
doing, at least this.
Thanks!
Best regards, Andrey Borodin.
[0]
https://www.postgresql.org/message-id/flat/20211107013157.GB790288%40rfd.leadboat.com