Make some xlogreader messages more accurate
When you have some invalid WAL, you often get a message like "wanted 24, got 0". This is a bit incorrect, since it really wanted *at least* 24, not exactly 24. This updates the messages to that effect, and also adds that detail to one message where it was available but not printed. Reviewed-by: Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com> Reviewed-by: Jeevan Ladhe <jeevanladhe.os@gmail.com> Discussion: https://www.postgresql.org/message-id/flat/726d782b-5e45-0c3e-d775-6686afe9aa83%40enterprisedb.com
This commit is contained in:
parent
be753639d3
commit
4ac30ba4f2
@ -623,8 +623,9 @@ restart:
|
||||
}
|
||||
else if (targetRecOff < pageHeaderSize)
|
||||
{
|
||||
report_invalid_record(state, "invalid record offset at %X/%X",
|
||||
LSN_FORMAT_ARGS(RecPtr));
|
||||
report_invalid_record(state, "invalid record offset at %X/%X: expected at least %u, got %u",
|
||||
LSN_FORMAT_ARGS(RecPtr),
|
||||
pageHeaderSize, targetRecOff);
|
||||
goto err;
|
||||
}
|
||||
|
||||
@ -672,7 +673,7 @@ restart:
|
||||
if (total_len < SizeOfXLogRecord)
|
||||
{
|
||||
report_invalid_record(state,
|
||||
"invalid record length at %X/%X: wanted %u, got %u",
|
||||
"invalid record length at %X/%X: expected at least %u, got %u",
|
||||
LSN_FORMAT_ARGS(RecPtr),
|
||||
(uint32) SizeOfXLogRecord, total_len);
|
||||
goto err;
|
||||
@ -1119,7 +1120,7 @@ ValidXLogRecordHeader(XLogReaderState *state, XLogRecPtr RecPtr,
|
||||
if (record->xl_tot_len < SizeOfXLogRecord)
|
||||
{
|
||||
report_invalid_record(state,
|
||||
"invalid record length at %X/%X: wanted %u, got %u",
|
||||
"invalid record length at %X/%X: expected at least %u, got %u",
|
||||
LSN_FORMAT_ARGS(RecPtr),
|
||||
(uint32) SizeOfXLogRecord, record->xl_tot_len);
|
||||
return false;
|
||||
|
Loading…
x
Reference in New Issue
Block a user