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
Tip revision: 38201b35996c2979edcdfb27fc7cbd3156503a6e authored by sdong on 23 February 2016, 01:29:28 UTC
Fix assert failure when DBImpl::SyncWAL() conflicts with log rolling
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 |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...