rocksdb/db_stress_tool
Andrew Kryczka 6892f19b11 Test correctness with WAL disabled in non-txn blackbox crash tests (#9338)
Summary:
Recently we added the ability to verify some prefix of operations are recovered (AKA no "hole" in the recovered data) (https://github.com/facebook/rocksdb/issues/8966). Besides testing unsynced data loss scenarios, it is also useful to test WAL disabled use cases, where unflushed writes are expected to be lost. Note RocksDB only offers the prefix-recovery guarantee to WAL-disabled use cases that use atomic flush, so crash test always enables atomic flush when WAL is disabled.

To verify WAL-disabled crash-recovery correctness globally, i.e., also in whitebox and blackbox transaction tests, it is possible but requires further changes. I added TODOs in db_crashtest.py.

Depends on https://github.com/facebook/rocksdb/issues/9305.

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

Test Plan: Running all crash tests and many instances of blackbox. Sandcastle links are in Phabricator diff test plan.

Reviewed By: riversand963

Differential Revision: D33345333

Pulled By: ajkr

fbshipit-source-id: f56dd7d2e5a78d59301bf4fc3fedb980eb31e0ce
2022-01-05 16:23:37 -08:00
..
batched_ops_stress.cc db_stress print hex key for MultiGet() inconsistency (#9324) 2021-12-20 23:29:43 -08:00
cf_consistency_stress.cc db_stress support tracking historical values (#8960) 2021-12-07 13:41:48 -08:00
CMakeLists.txt Stress test for RocksDB transactions (#8936) 2021-12-14 13:34:43 -08:00
db_stress_common.cc db_stress verify with lost unsynced operations (#8966) 2021-12-15 12:54:44 -08:00
db_stress_common.h db_stress verify with lost unsynced operations (#8966) 2021-12-15 12:54:44 -08:00
db_stress_compaction_filter.h Prevent deadlock in db_stress with DbStressCompactionFilter (#8956) 2021-09-24 16:54:02 -07:00
db_stress_driver.cc Fix race condition in db_stress thread setup (#9314) 2021-12-20 13:05:23 -08: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 db_stress verify with lost unsynced operations (#8966) 2021-12-15 12:54:44 -08:00
db_stress_listener.cc Make MemoryAllocator into a Customizable class (#8980) 2021-12-17 04:20:47 -08:00
db_stress_listener.h Fix stress/crash test handling of SST unique IDs (#9054) 2021-10-19 11:52:07 -07: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 Fix shutdown in db_stress with -test_batches_snapshots=1 (#9313) 2021-12-17 17:31:40 -08: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 Test correctness with WAL disabled in non-txn blackbox crash tests (#9338) 2022-01-05 16:23:37 -08:00
db_stress_test_base.h Stress test for RocksDB transactions (#8936) 2021-12-14 13:34:43 -08:00
db_stress_tool.cc Stress test for RocksDB transactions (#8936) 2021-12-14 13:34:43 -08:00
db_stress.cc Add (& fix) some simple source code checks (#8821) 2021-09-07 21:19:27 -07:00
expected_state.cc Added TraceOptions::preserve_write_order (#9334) 2021-12-28 15:04:26 -08: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 Make the Env class Customizable (#9293) 2022-01-04 16:45:49 -08:00
multi_ops_txns_stress.h Stress test for RocksDB transactions (#8936) 2021-12-14 13:34:43 -08:00
no_batched_ops_stress.cc db_stress support tracking historical values (#8960) 2021-12-07 13:41:48 -08:00