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;