mirror of
https://github.com/facebook/rocksdb.git
synced 2024-11-26 16:30:56 +00:00
01e2d33565
Summary: Pull Request resolved: https://github.com/facebook/rocksdb/pull/11906 The patch adds stress test coverage for the wide-column aware `FullMergeV3` API by implementing a new `DBStressWideMergeOperator`. This operator is similar to `PutOperator` / `PutOperatorV2` in the sense that its result is based on the last merge operand; however, the merge result can be either a plain value or a wide-column entity, depending on the value base encoded into the operand and the value of the `use_put_entity_one_in` stress test parameter. Following the same rule for merge results that we do for writes ensures that the queries issued by the validation logic receive the expected results. The new operator is used instead of `PutOperatorV2` whenever `use_put_entity_one_in` is positive. Note that the patch also makes it possible to set `use_put_entity_one_in` and `use_merge` (but not `use_full_merge_v1`) at the same time, giving `use_put_entity_one_in` precedence, so the stress test will use `PutEntity` for writes passing the `use_put_entity_one_in` check described above and `Merge` for any other writes. Reviewed By: jaykorean Differential Revision: D49760024 fbshipit-source-id: 3893602c3e7935381b484f4f5026f1983e3a04a9
20 lines
540 B
CMake
20 lines
540 B
CMake
add_executable(db_stress${ARTIFACT_SUFFIX}
|
|
batched_ops_stress.cc
|
|
cf_consistency_stress.cc
|
|
db_stress.cc
|
|
db_stress_common.cc
|
|
db_stress_driver.cc
|
|
db_stress_gflags.cc
|
|
db_stress_listener.cc
|
|
db_stress_shared_state.cc
|
|
db_stress_stat.cc
|
|
db_stress_test_base.cc
|
|
db_stress_wide_merge_operator.cc
|
|
db_stress_tool.cc
|
|
expected_state.cc
|
|
expected_value.cc
|
|
multi_ops_txns_stress.cc
|
|
no_batched_ops_stress.cc)
|
|
target_link_libraries(db_stress${ARTIFACT_SUFFIX} ${ROCKSDB_LIB} ${THIRDPARTY_LIBS})
|
|
list(APPEND tool_deps db_stress)
|