summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorivanmorozov333 <[email protected]>2025-05-20 11:19:20 +0300
committerGitHub <[email protected]>2025-05-20 11:19:20 +0300
commit7bc06e791a09ed529b533f25f8bbbfb68952187e (patch)
tree9332b3ba09cc369a1298bd2f84107b69a1ddbe5d
parent0f02a0ee1bb406147a378bdae5d098a41953852d (diff)
simple compaction planner fixes (#18526)
Co-authored-by: ivanmorozov333 <[email protected]>
-rw-r--r--ydb/core/tx/columnshard/engines/storage/optimizer/lcbuckets/planner/level/abstract.h2
-rw-r--r--ydb/core/tx/columnshard/engines/storage/optimizer/lcbuckets/planner/optimizer.h2
2 files changed, 3 insertions, 1 deletions
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;