diff options
Diffstat (limited to 'db/error_handler_test.cc')
-rw-r--r-- | db/error_handler_test.cc | 82 |
1 files changed, 40 insertions, 42 deletions
diff --git a/db/error_handler_test.cc b/db/error_handler_test.cc index cbbd33efc..b9d78490c 100644 --- a/db/error_handler_test.cc +++ b/db/error_handler_test.cc @@ -17,7 +17,7 @@ #include "test_util/sync_point.h" #endif -namespace rocksdb { +namespace ROCKSDB_NAMESPACE { class DBErrorHandlingTest : public DBTestBase { public: @@ -165,7 +165,7 @@ TEST_F(DBErrorHandlingTest, FLushWriteError) { }); SyncPoint::GetInstance()->EnableProcessing(); s = Flush(); - ASSERT_EQ(s.severity(), rocksdb::Status::Severity::kHardError); + ASSERT_EQ(s.severity(), ROCKSDB_NAMESPACE::Status::Severity::kHardError); SyncPoint::GetInstance()->DisableProcessing(); fault_env->SetFilesystemActive(true); s = dbfull()->Resume(); @@ -201,7 +201,7 @@ TEST_F(DBErrorHandlingTest, ManifestWriteError) { }); SyncPoint::GetInstance()->EnableProcessing(); s = Flush(); - ASSERT_EQ(s.severity(), rocksdb::Status::Severity::kHardError); + ASSERT_EQ(s.severity(), ROCKSDB_NAMESPACE::Status::Severity::kHardError); SyncPoint::GetInstance()->ClearAllCallBacks(); SyncPoint::GetInstance()->DisableProcessing(); fault_env->SetFilesystemActive(true); @@ -242,12 +242,12 @@ TEST_F(DBErrorHandlingTest, DoubleManifestWriteError) { }); SyncPoint::GetInstance()->EnableProcessing(); s = Flush(); - ASSERT_EQ(s.severity(), rocksdb::Status::Severity::kHardError); + ASSERT_EQ(s.severity(), ROCKSDB_NAMESPACE::Status::Severity::kHardError); fault_env->SetFilesystemActive(true); // This Resume() will attempt to create a new manifest file and fail again s = dbfull()->Resume(); - ASSERT_EQ(s.severity(), rocksdb::Status::Severity::kHardError); + ASSERT_EQ(s.severity(), ROCKSDB_NAMESPACE::Status::Severity::kHardError); fault_env->SetFilesystemActive(true); SyncPoint::GetInstance()->ClearAllCallBacks(); SyncPoint::GetInstance()->DisableProcessing(); @@ -286,32 +286,29 @@ TEST_F(DBErrorHandlingTest, CompactionManifestWriteError) { s = Flush(); ASSERT_EQ(s, Status::OK()); - rocksdb::SyncPoint::GetInstance()->LoadDependency( + ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->LoadDependency( // Wait for flush of 2nd L0 file before starting compaction {{"DBImpl::FlushMemTable:FlushMemTableFinished", "BackgroundCallCompaction:0"}, - // Wait for compaction to detect manifest write error - {"BackgroundCallCompaction:1", - "CompactionManifestWriteError:0"}, - // Make compaction thread wait for error to be cleared + // Wait for compaction to detect manifest write error + {"BackgroundCallCompaction:1", "CompactionManifestWriteError:0"}, + // Make compaction thread wait for error to be cleared {"CompactionManifestWriteError:1", "DBImpl::BackgroundCallCompaction:FoundObsoleteFiles"}, - // Wait for DB instance to clear bg_error before calling - // TEST_WaitForCompact - {"SstFileManagerImpl::ErrorCleared", - "CompactionManifestWriteError:2"}}); + // Wait for DB instance to clear bg_error before calling + // TEST_WaitForCompact + {"SstFileManagerImpl::ErrorCleared", "CompactionManifestWriteError:2"}}); // trigger manifest write failure in compaction thread - rocksdb::SyncPoint::GetInstance()->SetCallBack( - "BackgroundCallCompaction:0", [&](void *) { - fail_manifest.store(true); - }); - rocksdb::SyncPoint::GetInstance()->SetCallBack( - "VersionSet::LogAndApply:WriteManifest", [&](void *) { - if (fail_manifest.load()) { - fault_env->SetFilesystemActive(false, Status::NoSpace("Out of space")); - } + ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->SetCallBack( + "BackgroundCallCompaction:0", [&](void*) { fail_manifest.store(true); }); + ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->SetCallBack( + "VersionSet::LogAndApply:WriteManifest", [&](void*) { + if (fail_manifest.load()) { + fault_env->SetFilesystemActive(false, + Status::NoSpace("Out of space")); + } }); - rocksdb::SyncPoint::GetInstance()->EnableProcessing(); + ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->EnableProcessing(); Put(Key(1), "val"); // This Flush will trigger a compaction, which will fail when appending to @@ -322,12 +319,12 @@ TEST_F(DBErrorHandlingTest, CompactionManifestWriteError) { TEST_SYNC_POINT("CompactionManifestWriteError:0"); // Clear all errors so when the compaction is retried, it will succeed fault_env->SetFilesystemActive(true); - rocksdb::SyncPoint::GetInstance()->ClearAllCallBacks(); + ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->ClearAllCallBacks(); TEST_SYNC_POINT("CompactionManifestWriteError:1"); TEST_SYNC_POINT("CompactionManifestWriteError:2"); s = dbfull()->TEST_WaitForCompact(); - rocksdb::SyncPoint::GetInstance()->DisableProcessing(); + ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->DisableProcessing(); ASSERT_EQ(s, Status::OK()); new_manifest = GetManifestNameFromLiveFiles(); @@ -360,21 +357,21 @@ TEST_F(DBErrorHandlingTest, CompactionWriteError) { Status(Status::NoSpace(), Status::Severity::kHardError) ); listener->EnableAutoRecovery(false); - rocksdb::SyncPoint::GetInstance()->LoadDependency( + ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->LoadDependency( {{"DBImpl::FlushMemTable:FlushMemTableFinished", "BackgroundCallCompaction:0"}}); - rocksdb::SyncPoint::GetInstance()->SetCallBack( - "BackgroundCallCompaction:0", [&](void *) { - fault_env->SetFilesystemActive(false, Status::NoSpace("Out of space")); + ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->SetCallBack( + "BackgroundCallCompaction:0", [&](void*) { + fault_env->SetFilesystemActive(false, Status::NoSpace("Out of space")); }); - rocksdb::SyncPoint::GetInstance()->EnableProcessing(); + ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->EnableProcessing(); Put(Key(1), "val"); s = Flush(); ASSERT_EQ(s, Status::OK()); s = dbfull()->TEST_WaitForCompact(); - ASSERT_EQ(s.severity(), rocksdb::Status::Severity::kHardError); + ASSERT_EQ(s.severity(), ROCKSDB_NAMESPACE::Status::Severity::kHardError); fault_env->SetFilesystemActive(true); s = dbfull()->Resume(); @@ -397,21 +394,22 @@ TEST_F(DBErrorHandlingTest, CorruptionError) { s = Flush(); ASSERT_EQ(s, Status::OK()); - rocksdb::SyncPoint::GetInstance()->LoadDependency( + ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->LoadDependency( {{"DBImpl::FlushMemTable:FlushMemTableFinished", "BackgroundCallCompaction:0"}}); - rocksdb::SyncPoint::GetInstance()->SetCallBack( - "BackgroundCallCompaction:0", [&](void *) { - fault_env->SetFilesystemActive(false, Status::Corruption("Corruption")); + ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->SetCallBack( + "BackgroundCallCompaction:0", [&](void*) { + fault_env->SetFilesystemActive(false, Status::Corruption("Corruption")); }); - rocksdb::SyncPoint::GetInstance()->EnableProcessing(); + ROCKSDB_NAMESPACE::SyncPoint::GetInstance()->EnableProcessing(); Put(Key(1), "val"); s = Flush(); ASSERT_EQ(s, Status::OK()); s = dbfull()->TEST_WaitForCompact(); - ASSERT_EQ(s.severity(), rocksdb::Status::Severity::kUnrecoverableError); + ASSERT_EQ(s.severity(), + ROCKSDB_NAMESPACE::Status::Severity::kUnrecoverableError); fault_env->SetFilesystemActive(true); s = dbfull()->Resume(); @@ -438,7 +436,7 @@ TEST_F(DBErrorHandlingTest, AutoRecoverFlushError) { }); SyncPoint::GetInstance()->EnableProcessing(); s = Flush(); - ASSERT_EQ(s.severity(), rocksdb::Status::Severity::kHardError); + ASSERT_EQ(s.severity(), ROCKSDB_NAMESPACE::Status::Severity::kHardError); SyncPoint::GetInstance()->DisableProcessing(); fault_env->SetFilesystemActive(true); ASSERT_EQ(listener->WaitForRecovery(5000000), true); @@ -471,7 +469,7 @@ TEST_F(DBErrorHandlingTest, FailRecoverFlushError) { }); SyncPoint::GetInstance()->EnableProcessing(); s = Flush(); - ASSERT_EQ(s.severity(), rocksdb::Status::Severity::kHardError); + ASSERT_EQ(s.severity(), ROCKSDB_NAMESPACE::Status::Severity::kHardError); // We should be able to shutdown the database while auto recovery is going // on in the background Close(); @@ -854,10 +852,10 @@ TEST_F(DBErrorHandlingTest, MultiDBVariousErrors) { delete def_env; } -} // namespace rocksdb +} // namespace ROCKSDB_NAMESPACE int main(int argc, char** argv) { - rocksdb::port::InstallStackTraceHandler(); + ROCKSDB_NAMESPACE::port::InstallStackTraceHandler(); ::testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); } |