summaryrefslogtreecommitdiff
path: root/db/log_reader.cc
diff options
context:
space:
mode:
Diffstat (limited to 'db/log_reader.cc')
-rw-r--r--db/log_reader.cc19
1 files changed, 4 insertions, 15 deletions
diff --git a/db/log_reader.cc b/db/log_reader.cc
index f2fd97f62..a33d7e480 100644
--- a/db/log_reader.cc
+++ b/db/log_reader.cc
@@ -192,20 +192,6 @@ bool Reader::ReadRecord(Slice* record, std::string* scratch,
break;
case kBadRecordLen:
- if (recycled_ &&
- wal_recovery_mode ==
- WALRecoveryMode::kTolerateCorruptedTailRecords) {
- scratch->clear();
- return false;
- }
- ReportCorruption(drop_size, "bad record length");
- if (in_fragmented_record) {
- ReportCorruption(scratch->size(), "error in middle of record");
- in_fragmented_record = false;
- scratch->clear();
- }
- break;
-
case kBadRecordChecksum:
if (recycled_ &&
wal_recovery_mode ==
@@ -213,7 +199,10 @@ bool Reader::ReadRecord(Slice* record, std::string* scratch,
scratch->clear();
return false;
}
- ReportCorruption(drop_size, "checksum mismatch");
+ if (record_type == kBadRecordLen)
+ ReportCorruption(drop_size, "bad record length");
+ else
+ ReportCorruption(drop_size, "checksum mismatch");
if (in_fragmented_record) {
ReportCorruption(scratch->size(), "error in middle of record");
in_fragmented_record = false;