rocksdb/db_stress_tool
Levi Tamasi 0288bdbc53 Add the integrated BlobDB to the stress/crash tests (#7900)
Summary:
The patch adds support for the options related to the new BlobDB implementation
to `db_stress`, including support for dynamically adjusting them using `SetOptions`
when `set_options_one_in` and a new flag `allow_setting_blob_options_dynamically`
are specified. (The latter is used to prevent the options from being enabled when
incompatible features are in use.)

The patch also updates the `db_stress` help messages of the existing stacked BlobDB
related options to clarify that they pertain to the old implementation. In addition, it
adds the new BlobDB to the crash test script. In order to prevent a combinatorial explosion
of jobs and still perform whitebox/blackbox testing (including under ASAN/TSAN/UBSAN),
and to also test BlobDB in conjunction with atomic flush and transactions, the script sets
the BlobDB options in 10% of normal/`cf_consistency`/`txn` crash test runs.

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

Test Plan: Ran `make check` and `db_stress`/`db_crashtest.py` with various options.

Reviewed By: jay-zhuang

Differential Revision: D26094913

Pulled By: ltamasi

fbshipit-source-id: c2ef3391a05e43a9687f24e297df05f4a5584814
2021-02-02 11:41:18 -08:00
..
CMakeLists.txt Mark dependencies as PRIVATE and fix missing dependencies in tools. (#6790) 2020-05-12 21:07:55 -07:00
batched_ops_stress.cc Integrity protection for live updates to WriteBatch (#7748) 2021-01-29 12:18:58 -08:00
cf_consistency_stress.cc Fix cf_consistency_stress for backup/restore, harmonize (#7373) 2020-09-10 22:55:06 -07:00
db_stress.cc Replace namespace name "rocksdb" with ROCKSDB_NAMESPACE (#6433) 2020-02-20 12:09:57 -08:00
db_stress_common.cc Inject the random write error to stress test (#7653) 2020-12-17 11:52:28 -08:00
db_stress_common.h Add the integrated BlobDB to the stress/crash tests (#7900) 2021-02-02 11:41:18 -08:00
db_stress_compaction_filter.h Fix unused variable failure (#7004) 2020-06-18 22:06:51 -07:00
db_stress_driver.cc More Makefile Cleanup (#7097) 2020-07-09 14:35:17 -07:00
db_stress_driver.h Replace namespace name "rocksdb" with ROCKSDB_NAMESPACE (#6433) 2020-02-20 12:09:57 -08:00
db_stress_env_wrapper.h Fix, enable, and enhance backup/restore in db_stress (#7348) 2020-09-03 20:13:15 -07:00
db_stress_gflags.cc Add the integrated BlobDB to the stress/crash tests (#7900) 2021-02-02 11:41:18 -08:00
db_stress_listener.h Replace namespace name "rocksdb" with ROCKSDB_NAMESPACE (#6433) 2020-02-20 12:09:57 -08:00
db_stress_shared_state.cc Silence false alarms in db_stress fault injection (#6741) 2020-04-24 13:06:12 -07:00
db_stress_shared_state.h Inject the random write error to stress test (#7653) 2020-12-17 11:52:28 -08:00
db_stress_stat.h Remove a printf from db_stress that's not useful info (#6705) 2020-04-15 12:13:35 -07:00
db_stress_table_properties_collector.h Mark files for compaction in stress/crash tests (#7231) 2020-08-10 16:17:56 -07:00
db_stress_test_base.cc Add the integrated BlobDB to the stress/crash tests (#7900) 2021-02-02 11:41:18 -08:00
db_stress_test_base.h Add the integrated BlobDB to the stress/crash tests (#7900) 2021-02-02 11:41:18 -08:00
db_stress_tool.cc Integrity protection for live updates to WriteBatch (#7748) 2021-01-29 12:18:58 -08:00
no_batched_ops_stress.cc More Makefile Cleanup (#7097) 2020-07-09 14:35:17 -07:00