rocksdb/db/db_impl
Zhichao Cao b79f13b2aa Fix the potential deadlock in WriteImplWALOnly and UnorderedWriteMemtable (#7199)
Summary:
Pointed out by https://github.com/facebook/rocksdb/issues/7197 , there is a double lock in WriteImplWALOnly.
Also find another deadlock in UnorderedWriteMemtable. Move the check after switch_all_.notify_all().

Pull Request resolved: https://github.com/facebook/rocksdb/pull/7199

Test Plan: pass make check

Reviewed By: anand1976

Differential Revision: D22961714

Pulled By: zhichao-cao

fbshipit-source-id: 0707922dc50d28ea141a15a8cdcbd1c8993ea0d8
2020-08-07 11:28:49 -07:00
..
db_impl_compaction_flush.cc Make max_subcompactions dynamically changeable (#7159) 2020-07-22 18:32:52 -07:00
db_impl_debug.cc Replace reinterpret_cast with static_cast_with_check (#7067) 2020-07-02 19:25:41 -07:00
db_impl_experimental.cc Replace reinterpret_cast with static_cast_with_check (#7067) 2020-07-02 19:25:41 -07:00
db_impl_files.cc Make env*_test work with ASSERT_STATUS_CHECKED (#7176) 2020-07-28 22:59:48 -07:00
db_impl_open.cc Remove duplicate colon in Status message (#7041) 2020-08-06 15:18:04 -07:00
db_impl_readonly.cc Remove duplicate colon in Status message (#7041) 2020-08-06 15:18:04 -07:00
db_impl_readonly.h API change: DB::OpenForReadOnly will not write to the file system unless create_if_missing is true (#6900) 2020-06-03 18:57:49 -07:00
db_impl_secondary.cc Remove duplicate colon in Status message (#7041) 2020-08-06 15:18:04 -07:00
db_impl_secondary.h Replace namespace name "rocksdb" with ROCKSDB_NAMESPACE (#6433) 2020-02-20 12:09:57 -08:00
db_impl_write.cc Fix the potential deadlock in WriteImplWALOnly and UnorderedWriteMemtable (#7199) 2020-08-07 11:28:49 -07:00
db_impl.cc Add support to start and end IOTracing through DB APIs (#7203) 2020-08-04 18:41:45 -07:00
db_impl.h Fix the potential deadlock in WriteImplWALOnly and UnorderedWriteMemtable (#7199) 2020-08-07 11:28:49 -07:00
db_secondary_test.cc More Makefile Cleanup (#7097) 2020-07-09 14:35:17 -07:00