rocksdb/db_stress_tool
Yanqin Jin e3a3dbf2be Avoid overwriting options loaded from OPTIONS (#9943)
Summary:
This is similar to https://github.com/facebook/rocksdb/issues/9862, including the following fixes/refactoring:

1. If OPTIONS file is specified via `-options_file`, majority of options will be loaded from the file. We should not
overwrite options that have been loaded from the file. Instead, we configure only fields of options which are
shared objects and not set by the OPTIONS file. We also configure a few fields, e.g. `create_if_missing` necessary
for stress test to run.

2. Refactor options initialization into three functions, `InitializeOptionsFromFile()`, `InitializeOptionsFromFlags()`
and `InitializeOptionsGeneral()` similar to db_bench. I hope they can be shared in the future. The high-level logic is
as follows:
```cpp
if (!InitializeOptionsFromFile(...)) {
  InitializeOptionsFromFlags(...);
}
InitializeOptionsGeneral(...);
```

3. Currently, the setting for `block_cache_compressed` does not seem correct because it by default specifies a
size of `numeric_limits<size_t>::max()` ((size_t)-1). According to code comments, `-1` indicates default value,
which should be referring to `num_shard_bits` argument.

4. Clarify `fail_if_options_file_error`.

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

Test Plan:
1. make check
2. Run stress tests, and manually check generated OPTIONS file and compare them with input OPTIONS files

Reviewed By: jay-zhuang

Differential Revision: D36133769

Pulled By: riversand963

fbshipit-source-id: 35dacdc090a0a72c922907170cd132b9ecaa073e
2022-05-18 12:43:50 -07:00
..
batched_ops_stress.cc Revise APIs related to user-defined timestamp (#8946) 2022-02-01 22:19:01 -08:00
cf_consistency_stress.cc Add rate limiter priority to ReadOptions (#9424) 2022-02-16 23:18:14 -08:00
CMakeLists.txt Stress test for RocksDB transactions (#8936) 2021-12-14 13:34:43 -08:00
db_stress_common.cc db_stress fault injection in release mode (#9957) 2022-05-06 11:17:08 -07:00
db_stress_common.h Avoid overwriting options loaded from OPTIONS (#9943) 2022-05-18 12:43:50 -07:00
db_stress_compaction_filter.h Rename kRemoveWithSingleDelete to kPurge (#9951) 2022-05-05 08:16:20 -07:00
db_stress_driver.cc db_stress fault injection in release mode (#9957) 2022-05-06 11:17:08 -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 Make the Env class Customizable (#9293) 2022-01-04 16:45:49 -08:00
db_stress_gflags.cc Avoid overwriting options loaded from OPTIONS (#9943) 2022-05-18 12:43:50 -07:00
db_stress_listener.cc Adjust public APIs to prefer 128-bit SST unique ID (#10009) 2022-05-17 18:43:48 -07:00
db_stress_listener.h Avoid usage of ReopenWritableFile in db_stress (#9649) 2022-03-04 10:30:10 -08:00
db_stress_shared_state.cc Fix a bug of CompactionIterator/CompactionFilter using Delete (#9929) 2022-05-02 13:25:45 -07:00
db_stress_shared_state.h db_stress fault injection in release mode (#9957) 2022-05-06 11:17:08 -07:00
db_stress_stat.cc Fix Statistics in db_stress (#9260) 2021-12-07 16:24:22 -08:00
db_stress_stat.h Fix Statistics in db_stress (#9260) 2021-12-07 16:24:22 -08:00
db_stress_table_properties_collector.h Fix and detect headers with missing dependencies (#8893) 2021-09-10 10:00:26 -07:00
db_stress_test_base.cc Avoid overwriting options loaded from OPTIONS (#9943) 2022-05-18 12:43:50 -07:00
db_stress_test_base.h Avoid overwriting options loaded from OPTIONS (#9943) 2022-05-18 12:43:50 -07:00
db_stress_tool.cc db_stress fault injection in release mode (#9957) 2022-05-06 11:17:08 -07:00
db_stress.cc Add (& fix) some simple source code checks (#8821) 2021-09-07 21:19:27 -07:00
expected_state.cc Remove own ToString() (#9955) 2022-05-06 13:03:58 -07:00
expected_state.h db_stress verify with lost unsynced operations (#8966) 2021-12-15 12:54:44 -08:00
multi_ops_txns_stress.cc db_stress fault injection in release mode (#9957) 2022-05-06 11:17:08 -07:00
multi_ops_txns_stress.h Fix a bug of CompactionIterator/CompactionFilter using Delete (#9929) 2022-05-02 13:25:45 -07:00
no_batched_ops_stress.cc Remove own ToString() (#9955) 2022-05-06 13:03:58 -07:00