Silence "missing contrecord" error.

Commit dd38ff28ad added a new error message "missing contrecord" when
we fail to reassemble a record.  Unfortunately that caused noisy
messages to be logged by pg_waldump at end of segment, and by walsender
when asked to shut down on a segment boundary.

Remove the new error message, so that this condition signals end-of-
WAL without a message.  It's arguably a reportable condition that should
not be silenced while performing crash recovery, but fixing that without
introducing noise in the other cases will require more research.

Back-patch to 15.

Reported-by: Tomas Vondra <tomas.vondra@enterprisedb.com>
Discussion: https://postgr.es/m/6a1df56e-4656-b3ce-4b7a-a9cb41df8189%40enterprisedb.com
This commit is contained in:
Thomas Munro 2023-07-03 10:53:44 +12:00
parent 7ae4e78689
commit f50200c016
1 changed files with 4 additions and 8 deletions

View File

@ -912,15 +912,11 @@ err:
state->missingContrecPtr = targetPagePtr;
/*
* If we got here without reporting an error, report one now so that
* XLogPrefetcherReadRecord() doesn't bring us back a second time and
* clobber the above state. Otherwise, the existing error takes
* precedence.
* If we got here without reporting an error, make sure an error is
* queued so that XLogPrefetcherReadRecord() doesn't bring us back a
* second time and clobber the above state.
*/
if (!state->errormsg_buf[0])
report_invalid_record(state,
"missing contrecord at %X/%X",
LSN_FORMAT_ARGS(RecPtr));
state->errormsg_deferred = true;
}
if (decoded && decoded->oversized)