From 7330ec0ff18451c731f46c8b8e414864f80732d5 Mon Sep 17 00:00:00 2001 From: anand76 Date: Mon, 3 Feb 2020 18:15:12 -0800 Subject: [PATCH] Fix a test failure in error_handler_test (#6367) Summary: Fix an intermittent failure in DBErrorHandlingTest.CompactionManifestWriteError due to a race between background error recovery and the main test thread calling TEST_WaitForCompact(). Pull Request resolved: https://github.com/facebook/rocksdb/pull/6367 Test Plan: Run the test using gtest_parallel Differential Revision: D19713802 Pulled By: anand1976 fbshipit-source-id: 29e35dc26e0984fe8334c083e059f4fa1f335d68 --- db/error_handler_test.cc | 2 +- file/sst_file_manager_impl.cc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/db/error_handler_test.cc b/db/error_handler_test.cc index 929d07e9e..cbbd33efc 100644 --- a/db/error_handler_test.cc +++ b/db/error_handler_test.cc @@ -298,7 +298,7 @@ TEST_F(DBErrorHandlingTest, CompactionManifestWriteError) { "DBImpl::BackgroundCallCompaction:FoundObsoleteFiles"}, // Wait for DB instance to clear bg_error before calling // TEST_WaitForCompact - {"SstFileManagerImpl::ClearError", + {"SstFileManagerImpl::ErrorCleared", "CompactionManifestWriteError:2"}}); // trigger manifest write failure in compaction thread rocksdb::SyncPoint::GetInstance()->SetCallBack( diff --git a/file/sst_file_manager_impl.cc b/file/sst_file_manager_impl.cc index e9ed265ac..959070041 100644 --- a/file/sst_file_manager_impl.cc +++ b/file/sst_file_manager_impl.cc @@ -308,8 +308,8 @@ void SstFileManagerImpl::ClearError() { // since the ErrorHandler::recovery_in_prog_ flag would be true cur_instance_ = error_handler; mu_.Unlock(); - TEST_SYNC_POINT("SstFileManagerImpl::ClearError"); s = error_handler->RecoverFromBGError(); + TEST_SYNC_POINT("SstFileManagerImpl::ErrorCleared"); mu_.Lock(); // The DB instance might have been deleted while we were // waiting for the mutex, so check cur_instance_ to make sure its