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
Discussion: https://postgr.es/m/
6a1df56e-4656-b3ce-4b7a-
a9cb41df8189%40enterprisedb.com
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)