mirror of https://github.com/facebook/rocksdb.git
Handle early exit in DBErrorHandlingFSTests (#12655)
Summary: To avoid use-after-free on custom env on ASSERT_WHATEVER failure. This is motivated by a rare crash seen in DBErrorHandlingFSTest.WALWriteError (VersionSet::GetObsoleteFiles in a SstFileManagerImpl::ClearError thread) and wanting to rule out this being related to that. Pull Request resolved: https://github.com/facebook/rocksdb/pull/12655 Test Plan: manually seeing ASSERT_WHATEVER failures, especially under ASAN Reviewed By: cbi42 Differential Revision: D57358202 Pulled By: pdillinger fbshipit-source-id: 4da2a0d73a54380b257e5cc1ab6c666e26b83973
This commit is contained in:
parent
b4c6956a59
commit
3ed46e0668
|
@ -30,6 +30,14 @@ class DBErrorHandlingFSTest : public DBTestBase {
|
|||
fault_env_.reset(new CompositeEnvWrapper(env_, fault_fs_));
|
||||
}
|
||||
|
||||
~DBErrorHandlingFSTest() {
|
||||
// Before destroying fault_env_
|
||||
SyncPoint::GetInstance()->DisableProcessing();
|
||||
SyncPoint::GetInstance()->LoadDependency({});
|
||||
SyncPoint::GetInstance()->ClearAllCallBacks();
|
||||
Close();
|
||||
}
|
||||
|
||||
std::string GetManifestNameFromLiveFiles() {
|
||||
std::vector<std::string> live_files;
|
||||
uint64_t manifest_size;
|
||||
|
|
Loading…
Reference in New Issue