rocksdb/tools
Yanqin Jin 670a916d01 Add more verification to db_stress (#6173)
Summary:
Currently, db_stress performs verification by calling `VerifyDb()` at the end of test and optionally before tests start. In case of corruption or incorrect result, it will be too late. This PR adds more verification in two ways.
1. For cf consistency test, each test thread takes a snapshot and verifies every N ops. N is configurable via `-verify_db_one_in`. This option is not supported in other stress tests.
2. For cf consistency test, we use another background thread in which a secondary instance periodically tails the primary (interval is configurable). We verify the secondary. Once an error is detected, we terminate the test and report. This does not affect other stress tests.

Test plan (devserver)
```
$./db_stress -test_cf_consistency -verify_db_one_in=0 -ops_per_thread=100000 -continuous_verification_interval=100
$./db_stress -test_cf_consistency -verify_db_one_in=1000 -ops_per_thread=10000 -continuous_verification_interval=0
$make crash_test
```
Pull Request resolved: https://github.com/facebook/rocksdb/pull/6173

Differential Revision: D19047367

Pulled By: riversand963

fbshipit-source-id: aeed584ad71f9310c111445f34975e5ab47a0615
2019-12-20 08:49:29 -08:00
..
advisor Rules Advisor: some fixes to support fetching stats from ODS (#4223) 2018-08-02 15:42:42 -07:00
block_cache_analyzer Fix compliation error on GCC4.8.2 (#6106) 2019-12-03 11:59:21 -08:00
dump simplify include directive involving inttypes (#5402) 2019-06-06 13:56:07 -07:00
rdb Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00
analyze_txn_stress_test.sh Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00
auto_sanity_test.sh Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00
benchmark_leveldb.sh Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00
benchmark.sh Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00
blob_dump.cc comment unused parameters to turn on -Wunused-parameter flag 2018-04-12 17:59:16 -07:00
check_all_python.py Only search specific directories in Python check (#6225) 2019-12-19 15:37:30 -08:00
check_format_compatible.sh Update HISTORY.md for forward compatibility (#6085) 2019-11-26 10:00:31 -08:00
CMakeLists.txt Add an option to the CMake build to disable building shared libraries (#6122) 2019-12-10 15:20:50 -08:00
db_bench_tool_test.cc Introduce a new storage specific Env API (#5761) 2019-12-13 14:48:41 -08:00
db_bench_tool.cc Add BlobDB GC cutoff parameter to db_bench (#6211) 2019-12-18 17:46:08 -08:00
db_bench.cc simplify include directive involving inttypes (#5402) 2019-06-06 13:56:07 -07:00
db_crashtest.py Add more verification to db_stress (#6173) 2019-12-20 08:49:29 -08:00
db_repl_stress.cc Move some memory related files from util/ to memory/ (#5382) 2019-05-30 17:44:09 -07:00
db_sanity_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
dbench_monitor Fix /bin/bash shebangs 2017-08-03 15:56:46 -07:00
Dockerfile adding docker build script and dockerfile 2015-05-22 16:03:39 -07:00
generate_random_db.sh Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00
ingest_external_sst.sh Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00
ldb_cmd_impl.h Support custom env in sst_dump (#5845) 2019-10-08 19:19:12 -07:00
ldb_cmd_test.cc Introduce a new storage specific Env API (#5761) 2019-12-13 14:48:41 -08:00
ldb_cmd.cc Introduce a new storage specific Env API (#5761) 2019-12-13 14:48:41 -08:00
ldb_test.py Support custom env in sst_dump (#5845) 2019-10-08 19:19:12 -07:00
ldb_tool.cc Support custom env in sst_dump (#5845) 2019-10-08 19:19:12 -07:00
ldb.cc comment unused parameters to turn on -Wunused-parameter flag 2018-04-12 17:59:16 -07:00
pflag Fix /bin/bash shebangs 2017-08-03 15:56:46 -07:00
reduce_levels_test.cc Organizing rocksdb/db directory 2019-05-31 11:57:01 -07:00
regression_test.sh Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00
report_lite_binary_size.sh Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00
rocksdb_dump_test.sh Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00
run_flash_bench.sh Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00
run_leveldb.sh Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00
sample-dump.dmp First version of rocksdb_dump and rocksdb_undump. 2015-06-19 16:24:36 -07:00
sst_dump_test.cc Introduce a new storage specific Env API (#5761) 2019-12-13 14:48:41 -08:00
sst_dump_tool_imp.h Support decoding blob indexes in sst_dump (#5926) 2019-10-17 19:36:54 -07:00
sst_dump_tool.cc Introduce a new storage specific Env API (#5761) 2019-12-13 14:48:41 -08:00
sst_dump.cc comment unused parameters to turn on -Wunused-parameter flag 2018-04-12 17:59:16 -07:00
trace_analyzer_test.cc Introduce a new storage specific Env API (#5761) 2019-12-13 14:48:41 -08:00
trace_analyzer_tool.cc Introduce a new storage specific Env API (#5761) 2019-12-13 14:48:41 -08:00
trace_analyzer_tool.h Introduce a new storage specific Env API (#5761) 2019-12-13 14:48:41 -08:00
trace_analyzer.cc RocksDB Trace Analyzer (#4091) 2018-08-13 11:44:02 -07:00
verify_random_db.sh Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00
write_external_sst.sh Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00
write_stress_runner.py Fix interpreter lines for files with python2-only syntax. 2019-07-09 10:51:37 -07:00
write_stress.cc Apply formatter to recent 200+ commits. (#5830) 2019-09-20 12:04:26 -07:00