From 46e3209e0da1d7563e345d0e28a82ec05f1ddf32 Mon Sep 17 00:00:00 2001 From: Burton Li Date: Wed, 26 Dec 2018 13:56:56 -0800 Subject: [PATCH] Compaction limiter miscs (#4795) Summary: 1. Remove unused API SubtractCompactionTask(). 2. Assert outstanding tasks drop to zero in ConcurrentTaskLimiterImpl destructor. 3. Remove GetOutstandingTask() check from manual compaction test, as TEST_WaitForCompact() doesn't synced with 'delete prepicked_compaction' in DBImpl::BGWorkCompaction(), which may make the test flaky. Pull Request resolved: https://github.com/facebook/rocksdb/pull/4795 Differential Revision: D13542183 Pulled By: siying fbshipit-source-id: 5eb2a47e62efe4126937149aa0df6e243ebefc33 --- db/db_compaction_test.cc | 5 ++--- db/db_impl.h | 3 --- util/concurrent_task_limiter_impl.cc | 1 + 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/db/db_compaction_test.cc b/db/db_compaction_test.cc index 2186a8f6e..c8c30d8cb 100644 --- a/db/db_compaction_test.cc +++ b/db/db_compaction_test.cc @@ -4053,7 +4053,7 @@ TEST_F(DBCompactionTest, CompactionLimiter) { dbfull()->TEST_WaitForFlushMemTable(handles_[cf]); } - dbfull()->TEST_WaitForCompact(); + ASSERT_OK(dbfull()->TEST_WaitForCompact()); // Max outstanding compact tasks reached limit for (auto& ls : limiter_settings) { @@ -4076,8 +4076,7 @@ TEST_F(DBCompactionTest, CompactionLimiter) { ASSERT_EQ(1, NumTableFilesAtLevel(0, cf_test)); Compact(cf_test, Key(0), Key(keyIndex)); - dbfull()->TEST_WaitForCompact(); - ASSERT_EQ(0, unique_limiter->GetOutstandingTask()); + ASSERT_OK(dbfull()->TEST_WaitForCompact()); } INSTANTIATE_TEST_CASE_P(DBCompactionTestWithParam, DBCompactionTestWithParam, diff --git a/db/db_impl.h b/db/db_impl.h index cbfdd0dd6..da8de21eb 100644 --- a/db/db_impl.h +++ b/db/db_impl.h @@ -1114,9 +1114,6 @@ class DBImpl : public DB { // Schedule background tasks void StartTimedTasks(); - void SubtractCompactionTask(const std::string& device_name, - LogBuffer* log_buffer); - void PrintStatistics(); // dump rocksdb.stats to LOG diff --git a/util/concurrent_task_limiter_impl.cc b/util/concurrent_task_limiter_impl.cc index 098028b19..e1ce4bef7 100644 --- a/util/concurrent_task_limiter_impl.cc +++ b/util/concurrent_task_limiter_impl.cc @@ -21,6 +21,7 @@ ConcurrentTaskLimiterImpl::ConcurrentTaskLimiterImpl( } ConcurrentTaskLimiterImpl::~ConcurrentTaskLimiterImpl() { + assert(outstanding_tasks_ == 0); } const std::string& ConcurrentTaskLimiterImpl::GetName() const {