diff --git a/db/db_impl.cc b/db/db_impl.cc index 1ec2afb867..f96d245583 100644 --- a/db/db_impl.cc +++ b/db/db_impl.cc @@ -629,6 +629,11 @@ void DBImpl::TEST_CompactRange(int level, const Slice* begin, background_work_finished_signal_.Wait(); } } + // Finish current background compaction in the case where + // `background_work_finished_signal_` was signalled due to an error. + while (background_compaction_scheduled_) { + background_work_finished_signal_.Wait(); + } if (manual_compaction_ == &manual) { // Cancel my manual compaction since we aborted early for some reason. manual_compaction_ = nullptr;