e05c2bb549
Summary: Current db_stress does not cover complex read-write transactions. Therefore, this PR adds coverage for emulated MyRocks-style transactions in `MultiOpsTxnsStressTest`. To achieve this, we need: - Add a new operation type 'customops' so that we can add new complex groups of operations, e.g. transactions involving multiple read-write operations. - Implement three read-write transactions and two read-only ones to emulate MyRocks-style transactions. Pull Request resolved: https://github.com/facebook/rocksdb/pull/8936 Test Plan: ``` make check ./db_stress -test_multi_ops_txns -use_txn -clear_column_family_one_in=0 -column_families=1 -writepercent=0 -delpercent=0 -delrangepercent=0 -customopspercent=60 -readpercent=20 -prefixpercent=0 -iterpercent=20 -reopen=0 -ops_per_thread=100000 ``` Next step is to add more configurability and refine input generation and result reporting, which will done in separate follow-up PRs. Reviewed By: zhichao-cao Differential Revision: D31071795 Pulled By: riversand963 fbshipit-source-id: 50d7c828346ec643311336b904848a1588a37006
18 lines
485 B
CMake
18 lines
485 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_tool.cc
|
|
expected_state.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)
|