From 9c689f2f8bb78d69b4254424ad4c111c19965104 Mon Sep 17 00:00:00 2001 From: ArcueidType <981354012@qq.com> Date: Thu, 7 Nov 2024 01:32:30 +0800 Subject: [PATCH] naive version which fails TEST LastLevelCompaction --- db/db_impl.cc | 4 ++++ db/dbformat.h | 2 +- db/version_set.cc | 8 +++----- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/db/db_impl.cc b/db/db_impl.cc index 6d7af36..8a08424 100644 --- a/db/db_impl.cc +++ b/db/db_impl.cc @@ -606,6 +606,10 @@ void DBImpl::TEST_CompactRange(int level, const Slice* begin, InternalKey begin_storage, end_storage; + if (level == config::kNumLevels - 1) { + return; + } + ManualCompaction manual; manual.level = level; manual.done = false; diff --git a/db/dbformat.h b/db/dbformat.h index a1c30ed..6dc0ba8 100644 --- a/db/dbformat.h +++ b/db/dbformat.h @@ -22,7 +22,7 @@ namespace leveldb { // Grouping of constants. We may want to make some of these // parameters set via options. namespace config { -static const int kNumLevels = 7; +static const int kNumLevels = 3; // Level-0 compaction is started when we hit this many files. static const int kL0_CompactionTrigger = 4; diff --git a/db/version_set.cc b/db/version_set.cc index a9d80e2..b147e08 100644 --- a/db/version_set.cc +++ b/db/version_set.cc @@ -1104,13 +1104,11 @@ int VersionSet::NumLevelFiles(int level) const { const char* VersionSet::LevelSummary(LevelSummaryStorage* scratch) const { // Update code if kNumLevels changes - static_assert(config::kNumLevels == 7, ""); + static_assert(config::kNumLevels == 3, ""); std::snprintf( - scratch->buffer, sizeof(scratch->buffer), "files[ %d %d %d %d %d %d %d ]", + scratch->buffer, sizeof(scratch->buffer), "files[ %d %d %d ]", int(current_->files_[0].size()), int(current_->files_[1].size()), - int(current_->files_[2].size()), int(current_->files_[3].size()), - int(current_->files_[4].size()), int(current_->files_[5].size()), - int(current_->files_[6].size())); + int(current_->files_[2].size())); return scratch->buffer; }