diff --git a/db/db_impl/db_impl_compaction_flush.cc b/db/db_impl/db_impl_compaction_flush.cc index dec86c249..0c1eec54d 100644 --- a/db/db_impl/db_impl_compaction_flush.cc +++ b/db/db_impl/db_impl_compaction_flush.cc @@ -182,7 +182,6 @@ Status DBImpl::FlushMemTableToOutputFile( // other column families are missing. // SyncClosedLogs() may unlock and re-lock the db_mutex. log_io_s = SyncClosedLogs(job_context); - s = log_io_s; if (!log_io_s.ok() && !log_io_s.IsShutdownInProgress() && !log_io_s.IsColumnFamilyDropped()) { error_handler_.SetBGError(log_io_s, BackgroundErrorReason::kFlush); @@ -190,6 +189,7 @@ Status DBImpl::FlushMemTableToOutputFile( } else { TEST_SYNC_POINT("DBImpl::SyncClosedLogs:Skip"); } + s = log_io_s; // If the log sync failed, we do not need to pick memtable. Otherwise, // num_flush_not_started_ needs to be rollback. @@ -431,7 +431,6 @@ Status DBImpl::AtomicFlushMemTablesToOutputFiles( // TODO (yanqin) investigate whether we should sync the closed logs for // single column family case. log_io_s = SyncClosedLogs(job_context); - s = log_io_s; if (!log_io_s.ok() && !log_io_s.IsShutdownInProgress() && !log_io_s.IsColumnFamilyDropped()) { if (total_log_size_ > 0) { @@ -442,6 +441,7 @@ Status DBImpl::AtomicFlushMemTablesToOutputFiles( } } } + s = log_io_s; // exec_status stores the execution status of flush_jobs as // @@ -541,7 +541,7 @@ Status DBImpl::AtomicFlushMemTablesToOutputFiles( } } for (int i = 0; i != num_cfs; ++i) { - if (exec_status[i].first && exec_status[i].second.ok()) { + if (exec_status[i].second.ok() && exec_status[i].first) { auto& mems = jobs[i]->GetMemTables(); cfds[i]->imm()->RollbackMemtableFlush(mems, file_meta[i].fd.GetNumber()); diff --git a/utilities/backupable/backupable_db_test.cc b/utilities/backupable/backupable_db_test.cc index 0fe534548..fd9d5ad52 100644 --- a/utilities/backupable/backupable_db_test.cc +++ b/utilities/backupable/backupable_db_test.cc @@ -976,7 +976,7 @@ TEST_F(BackupableDBTest, FileCollision) { // If the db directory has been cleaned up, it is sensitive to file // collision. - DestroyDB(dbname_, options_); + ASSERT_OK(DestroyDB(dbname_, options_)); // open with old backup OpenDBAndBackupEngine(false /* destroy_old_data */, false /* dummy */, @@ -995,7 +995,7 @@ TEST_F(BackupableDBTest, FileCollision) { CloseDBAndBackupEngine(); // delete old data - DestroyDB(dbname_, options_); + ASSERT_OK(DestroyDB(dbname_, options_)); } }