1
0
mirror of https://github.com/facebook/rocksdb.git synced 2026-10-23 08:09:02 +03:00

Disable a param combo in crash test to fix a data race (#14023)

Summary:
When inplace_update_support and memtable_veirfy_per_key_checksum_on_seek are enabled at the same time, it would cause data race in memtable.

inplace_update_support allows key/value pair in place update in memtable.

memtable_veirfy_per_key_checksum_on_seek performs key checksum verification during seek. It is possible that one thread is updating the key/value pair in place, while another thread is reading the key/value pair for checksum verification during seek.

Therefore, there these 2 configurations could not be enabled at the same time

Pull Request resolved: https://github.com/facebook/rocksdb/pull/14023

Test Plan: local stress test run stops reporting race condition

Reviewed By: anand1976

Differential Revision: D83812322

Pulled By: xingbowang

fbshipit-source-id: 6cb9f0f3faa8deba97305bfe87266f2fe78e0501
This commit is contained in:
Xingbo Wang
2025-10-03 00:01:02 -07:00
committed by meta-codesync[bot]
parent 9d3afcf543
commit 7c22fbe0d5

View File

@@ -1197,6 +1197,12 @@ def finalize_and_sanitize(src_params):
dest_params["prefixpercent"] = 0
dest_params["read_fault_one_in"] = 0
dest_params["memtable_prefix_bloom_size_ratio"] = 0
# inplace update and key checksum verification during seek would cause race condition
# Therefore, when inplace_update_support is enabled, disable memtable_veirfy_per_key_checksum_on_seek
if dest_params["inplace_update_support"] == 1:
dest_params["memtable_veirfy_per_key_checksum_on_seek"] = 0
return dest_params