summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChangyu Bi <changyubi@meta.com>2024-03-13 18:03:55 -0700
committerFacebook GitHub Bot <facebook-github-bot@users.noreply.github.com>2024-03-13 18:03:55 -0700
commitba022dd44ca173832b098f027502d36d86b5513c (patch)
treed0e644c367b95ea5174e9175755733fe6fdae586
parent30243c6573e2a8f8612f88257a70f7a1ac51ce63 (diff)
Disable `enable_checksum_handoff` in crash test (#12431)
Summary: since it been causing a few crash tests failures, I suspect it'll be easy to repro locally. Also fixed how to print its corruption message so it does not crash with output cannot be utf-8 decoded. Pull Request resolved: https://github.com/facebook/rocksdb/pull/12431 Reviewed By: hx235 Differential Revision: D54881023 Pulled By: cbi42 fbshipit-source-id: 47208a637cd69b30d2545154849405e37db62ed3
-rw-r--r--tools/db_crashtest.py2
-rw-r--r--utilities/fault_injection_fs.cc14
2 files changed, 9 insertions, 7 deletions
diff --git a/tools/db_crashtest.py b/tools/db_crashtest.py
index ddd1b9eca..c8be27cc2 100644
--- a/tools/db_crashtest.py
+++ b/tools/db_crashtest.py
@@ -261,7 +261,7 @@ default_params = {
"use_adaptive_mutex_lru": lambda: random.choice([0, 1]),
"compress_format_version": lambda: random.choice([1, 2]),
"manifest_preallocation_size": lambda: random.choice([0, 5 * 1024]),
- "enable_checksum_handoff": lambda: random.choice([0, 1]),
+ "enable_checksum_handoff": 0,
"max_total_wal_size": lambda: random.choice([0] * 4 + [64 * 1024 * 1024]),
"high_pri_pool_ratio": lambda: random.choice([0, 0.5]),
"low_pri_pool_ratio": lambda: random.choice([0, 0.5]),
diff --git a/utilities/fault_injection_fs.cc b/utilities/fault_injection_fs.cc
index 777787701..0ffb43ea6 100644
--- a/utilities/fault_injection_fs.cc
+++ b/utilities/fault_injection_fs.cc
@@ -195,9 +195,10 @@ IOStatus TestFSWritableFile::Append(
data.size(), &checksum);
if (fs_->GetChecksumHandoffFuncType() != ChecksumType::kNoChecksum &&
checksum != verification_info.checksum.ToString()) {
- std::string msg = "Data is corrupted! Origin data checksum: " +
- verification_info.checksum.ToString() +
- "current data checksum: " + checksum;
+ std::string msg =
+ "Data is corrupted! Origin data checksum: " +
+ verification_info.checksum.ToString(true) +
+ "current data checksum: " + Slice(checksum).ToString(true);
return IOStatus::Corruption(msg);
}
if (target_->use_direct_io()) {
@@ -228,9 +229,10 @@ IOStatus TestFSWritableFile::PositionedAppend(
data.size(), &checksum);
if (fs_->GetChecksumHandoffFuncType() != ChecksumType::kNoChecksum &&
checksum != verification_info.checksum.ToString()) {
- std::string msg = "Data is corrupted! Origin data checksum: " +
- verification_info.checksum.ToString() +
- "current data checksum: " + checksum;
+ std::string msg =
+ "Data is corrupted! Origin data checksum: " +
+ verification_info.checksum.ToString(true) +
+ "current data checksum: " + Slice(checksum).ToString(true);
return IOStatus::Corruption(msg);
}
target_->PositionedAppend(data, offset, options, dbg);