diff --git a/db/compaction_job.cc b/db/compaction_job.cc index f67c56f5c..a1db74869 100644 --- a/db/compaction_job.cc +++ b/db/compaction_job.cc @@ -229,12 +229,10 @@ CompactionJob::CompactionJob( ThreadStatusUtil::SetColumnFamily( compact_->compaction->column_family_data()); ThreadStatusUtil::SetThreadOperation(ThreadStatus::OP_COMPACTION); - TEST_SYNC_POINT("CompactionJob::CompationJob()"); } CompactionJob::~CompactionJob() { assert(compact_ == nullptr); - TEST_SYNC_POINT("CompactionJob::~CompactionJob()"); ThreadStatusUtil::ResetThreadStatus(); } @@ -290,6 +288,7 @@ void CompactionJob::Prepare() { Status CompactionJob::Run() { AutoThreadOperationStageUpdater stage_updater( ThreadStatus::STAGE_COMPACTION_RUN); + TEST_SYNC_POINT("CompactionJob::Run():Start"); log_buffer_->FlushBufferToLog(); ColumnFamilyData* cfd = compact_->compaction->column_family_data(); @@ -481,6 +480,7 @@ Status CompactionJob::Run() { RecordCompactionIOStats(); LogFlush(db_options_.info_log); + TEST_SYNC_POINT("CompactionJob::Run():End"); return status; } diff --git a/db/db_test.cc b/db/db_test.cc index 08123edb4..84e1d3fa4 100644 --- a/db/db_test.cc +++ b/db/db_test.cc @@ -10165,20 +10165,23 @@ TEST(DBTest, ThreadStatusSingleCompaction) { options.level0_file_num_compaction_trigger = kNumL0Files; rocksdb::SyncPoint::GetInstance()->LoadDependency({ - {"CompactionJob::CompationJob()", + {"CompactionJob::Run():Start", "DBTest::ThreadStatusSingleCompaction:1"}, {"DBTest::ThreadStatusSingleCompaction:2", - "CompactionJob::~CompactionJob()"}, + "CompactionJob::Run():End"}, }); rocksdb::SyncPoint::GetInstance()->EnableProcessing(); for (int tests = 0; tests < 2; ++tests) { - TryReopen(options); + DestroyAndReopen(options); Random rnd(301); for (int key = kEntriesPerBuffer * kNumL0Files; key >= 0; --key) { ASSERT_OK(Put(ToString(key), RandomString(&rnd, kTestValueSize))); } + Flush(); + ASSERT_GE(NumTableFilesAtLevel(0), + options.level0_file_num_compaction_trigger); // wait for compaction to be scheduled env_->SleepForMicroseconds(250000);