From 7bc06e791a09ed529b533f25f8bbbfb68952187e Mon Sep 17 00:00:00 2001 From: ivanmorozov333 Date: Tue, 20 May 2025 11:19:20 +0300 Subject: simple compaction planner fixes (#18526) Co-authored-by: ivanmorozov333 --- .../engines/storage/optimizer/lcbuckets/planner/level/abstract.h | 2 +- .../columnshard/engines/storage/optimizer/lcbuckets/planner/optimizer.h | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/ydb/core/tx/columnshard/engines/storage/optimizer/lcbuckets/planner/level/abstract.h b/ydb/core/tx/columnshard/engines/storage/optimizer/lcbuckets/planner/level/abstract.h index 1a5579c3df4..f9f187914e5 100644 --- a/ydb/core/tx/columnshard/engines/storage/optimizer/lcbuckets/planner/level/abstract.h +++ b/ydb/core/tx/columnshard/engines/storage/optimizer/lcbuckets/planner/level/abstract.h @@ -370,7 +370,7 @@ public: } bool IsOverloaded() const { - return OverloadChecker->IsOverloaded(GetPortionsInfo()); + return NextLevel && OverloadChecker->IsOverloaded(GetPortionsInfo()); } bool HasData() const { diff --git a/ydb/core/tx/columnshard/engines/storage/optimizer/lcbuckets/planner/optimizer.h b/ydb/core/tx/columnshard/engines/storage/optimizer/lcbuckets/planner/optimizer.h index 53212a66045..30aa4ab5ec9 100644 --- a/ydb/core/tx/columnshard/engines/storage/optimizer/lcbuckets/planner/optimizer.h +++ b/ydb/core/tx/columnshard/engines/storage/optimizer/lcbuckets/planner/optimizer.h @@ -26,6 +26,8 @@ private: for (ui32 i = baseLevel; i + 1 < Levels.size(); ++i) { if (Levels[i]->IsAppropriatePortionToMove(info) && Levels[i + 1]->IsAppropriatePortionToStore(info)) { result = i + 1; + } else { + break; } } return result; -- cgit v1.3