crash_test to cover options.avoid_flush_during_recovery (#6712)

Summary:
Options.avoid_flush_during_recovery is uncovered in crash_test. Add the coverage with a chance of 1/8, as it is a less frequently used options.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/6712

Test Plan: Run crash_test and see the option can be used or not used by chance.

Reviewed By: ltamasi

Differential Revision: D21056566

fbshipit-source-id: c3b1521517cfc204786e6ef8c6acd7fffda64793
This commit is contained in:
sdong 2020-04-16 12:09:18 -07:00 committed by Facebook GitHub Bot
parent 5801af4646
commit 73523baeb1
4 changed files with 8 additions and 0 deletions

View File

@ -215,6 +215,7 @@ DECLARE_bool(use_full_merge_v1);
DECLARE_int32(sync_wal_one_in); DECLARE_int32(sync_wal_one_in);
DECLARE_bool(avoid_unnecessary_blocking_io); DECLARE_bool(avoid_unnecessary_blocking_io);
DECLARE_bool(write_dbid_to_manifest); DECLARE_bool(write_dbid_to_manifest);
DECLARE_bool(avoid_flush_during_recovery);
DECLARE_uint64(max_write_batch_group_size_bytes); DECLARE_uint64(max_write_batch_group_size_bytes);
DECLARE_bool(level_compaction_dynamic_level_bytes); DECLARE_bool(level_compaction_dynamic_level_bytes);
DECLARE_int32(verify_checksum_one_in); DECLARE_int32(verify_checksum_one_in);

View File

@ -646,6 +646,10 @@ DEFINE_bool(write_dbid_to_manifest,
ROCKSDB_NAMESPACE::Options().write_dbid_to_manifest, ROCKSDB_NAMESPACE::Options().write_dbid_to_manifest,
"Write DB_ID to manifest"); "Write DB_ID to manifest");
DEFINE_bool(avoid_flush_during_recovery,
ROCKSDB_NAMESPACE::Options().avoid_flush_during_recovery,
"Avoid flush during recovery");
DEFINE_uint64(max_write_batch_group_size_bytes, DEFINE_uint64(max_write_batch_group_size_bytes,
ROCKSDB_NAMESPACE::Options().max_write_batch_group_size_bytes, ROCKSDB_NAMESPACE::Options().max_write_batch_group_size_bytes,
"Max write batch group size"); "Max write batch group size");

View File

@ -1826,6 +1826,7 @@ void StressTest::Open() {
options_.avoid_unnecessary_blocking_io = options_.avoid_unnecessary_blocking_io =
FLAGS_avoid_unnecessary_blocking_io; FLAGS_avoid_unnecessary_blocking_io;
options_.write_dbid_to_manifest = FLAGS_write_dbid_to_manifest; options_.write_dbid_to_manifest = FLAGS_write_dbid_to_manifest;
options_.avoid_flush_during_recovery = FLAGS_avoid_flush_during_recovery;
options_.max_write_batch_group_size_bytes = options_.max_write_batch_group_size_bytes =
FLAGS_max_write_batch_group_size_bytes; FLAGS_max_write_batch_group_size_bytes;
options_.level_compaction_dynamic_level_bytes = options_.level_compaction_dynamic_level_bytes =

View File

@ -106,6 +106,8 @@ default_params = {
[0, 0, 0, 1024 * 1024, 8 * 1024 * 1024, 128 * 1024 * 1024]), [0, 0, 0, 1024 * 1024, 8 * 1024 * 1024, 128 * 1024 * 1024]),
"avoid_unnecessary_blocking_io" : random.randint(0, 1), "avoid_unnecessary_blocking_io" : random.randint(0, 1),
"write_dbid_to_manifest" : random.randint(0, 1), "write_dbid_to_manifest" : random.randint(0, 1),
"avoid_flush_during_recovery" : random.choice(
[1 if t == 0 else 0 for t in range(0, 8)]),
"max_write_batch_group_size_bytes" : lambda: random.choice( "max_write_batch_group_size_bytes" : lambda: random.choice(
[16, 64, 1024 * 1024, 16 * 1024 * 1024]), [16, 64, 1024 * 1024, 16 * 1024 * 1024]),
"level_compaction_dynamic_level_bytes" : True, "level_compaction_dynamic_level_bytes" : True,