diff options
author | Changyu Bi <changyubi@meta.com> | 2024-03-13 18:03:55 -0700 |
---|---|---|
committer | Facebook GitHub Bot <facebook-github-bot@users.noreply.github.com> | 2024-03-13 18:03:55 -0700 |
commit | ba022dd44ca173832b098f027502d36d86b5513c (patch) | |
tree | d0e644c367b95ea5174e9175755733fe6fdae586 | |
parent | 30243c6573e2a8f8612f88257a70f7a1ac51ce63 (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.py | 2 | ||||
-rw-r--r-- | utilities/fault_injection_fs.cc | 14 |
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); |