https://github.com/facebook/rocksdb
Revision 38201b35996c2979edcdfb27fc7cbd3156503a6e authored by sdong on 23 February 2016, 01:29:28 UTC, committed by sdong on 23 February 2016, 19:42:15 UTC
Summary: DBImpl::SyncWAL() releases db mutex before calling DBImpl::MarkLogsSynced(), while inside DBImpl::MarkLogsSynced() we assert there is none or one outstanding log file. However, a memtable switch can happen in between and causing two or outstanding logs there, failing the assert. The diff adds a unit test that repros the issue and fix the assert so that the unit test passes.

Test Plan: Run the new tests.

Reviewers: anthony, kolmike, yhchiang, IslamAbdelRahman, kradhakrishnan, andrewkr

Reviewed By: andrewkr

Subscribers: leveldb, dhruba

Differential Revision: https://reviews.facebook.net/D54621
1 parent 2568985
History
Tip revision: 38201b35996c2979edcdfb27fc7cbd3156503a6e authored by sdong on 23 February 2016, 01:29:28 UTC
Fix assert failure when DBImpl::SyncWAL() conflicts with log rolling
Tip revision: 38201b3
File Mode Size
dump
rdb
Dockerfile -rw-r--r-- 81 bytes
auto_sanity_test.sh -rwxr-xr-x 2.6 KB
benchmark.sh -rwxr-xr-x 13.9 KB
benchmark_leveldb.sh -rwxr-xr-x 5.1 KB
check_format_compatible.sh -rwxr-xr-x 3.4 KB
db_bench.cc -rw-r--r-- 844 bytes
db_bench_tool.cc -rw-r--r-- 143.3 KB
db_crashtest.py -rw-r--r-- 12.7 KB
db_repl_stress.cc -rw-r--r-- 4.5 KB
db_sanity_test.cc -rw-r--r-- 8.3 KB
db_stress.cc -rw-r--r-- 77.0 KB
dbench_monitor -rwxr-xr-x 2.6 KB
generate_random_db.sh -rwxr-xr-x 726 bytes
ldb.cc -rw-r--r-- 602 bytes
ldb_cmd.cc -rw-r--r-- 69.6 KB
ldb_cmd.h -rw-r--r-- 23.3 KB
ldb_cmd_execute_result.h -rw-r--r-- 1.6 KB
ldb_cmd_test.cc -rw-r--r-- 1.6 KB
ldb_test.py -rw-r--r-- 23.6 KB
ldb_tool.cc -rw-r--r-- 4.1 KB
pflag -rwxr-xr-x 4.0 KB
reduce_levels_test.cc -rw-r--r-- 5.2 KB
rocksdb_dump_test.sh -rwxr-xr-x 325 bytes
run_flash_bench.sh -rwxr-xr-x 13.6 KB
run_leveldb.sh -rwxr-xr-x 6.2 KB
sample-dump.dmp -rw-r--r-- 100 bytes
sst_dump.cc -rw-r--r-- 611 bytes
sst_dump_test.cc -rw-r--r-- 6.2 KB
sst_dump_tool.cc -rw-r--r-- 17.4 KB
sst_dump_tool_imp.h -rw-r--r-- 2.6 KB
verify_random_db.sh -rwxr-xr-x 710 bytes
write_stress.cc -rw-r--r-- 10.8 KB
write_stress_runner.py -rw-r--r-- 2.2 KB

back to top