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
arcanist_util
build_tools
coverage
db
doc
examples
hdfs
include
java
memtable
port
table
third-party
tools
util
utilities
.arcconfig -rw-r--r-- 564 bytes
.clang-format -rw-r--r-- 138 bytes
.gitignore -rw-r--r-- 622 bytes
.travis.yml -rw-r--r-- 1.9 KB
AUTHORS -rw-r--r-- 247 bytes
CMakeLists.txt -rw-r--r-- 16.8 KB
CONTRIBUTING.md -rw-r--r-- 733 bytes
DUMP_FORMAT.md -rw-r--r-- 763 bytes
HISTORY.md -rw-r--r-- 30.4 KB
INSTALL.md -rw-r--r-- 3.9 KB
LICENSE -rw-r--r-- 1.6 KB
Makefile -rw-r--r-- 41.2 KB
PATENTS -rw-r--r-- 1.9 KB
README.md -rw-r--r-- 1.2 KB
ROCKSDB_LITE.md -rw-r--r-- 1.0 KB
USERS.md -rw-r--r-- 2.8 KB
Vagrantfile -rw-r--r-- 862 bytes
WINDOWS_PORT.md -rw-r--r-- 12.5 KB
appveyor.yml -rw-r--r-- 462 bytes
src.mk -rw-r--r-- 21.0 KB
thirdparty.inc -rw-r--r-- 7.0 KB

README.md

back to top