Skip to content

Commit f282430

Browse files
fix compaction memory prediction for special case (#11565)
1 parent 480f9da commit f282430

File tree

2 files changed

+3
-1
lines changed

2 files changed

+3
-1
lines changed

ydb/core/tx/columnshard/engines/changes/general_compaction.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,8 @@ std::shared_ptr<TGeneralCompactColumnEngineChanges::IMemoryPredictor> TGeneralCo
238238

239239
ui64 TGeneralCompactColumnEngineChanges::TMemoryPredictorChunkedPolicy::AddPortion(const TPortionInfo::TConstPtr& portionInfo) {
240240
SumMemoryFix += portionInfo->GetRecordsCount() * (2 * sizeof(ui64) + sizeof(ui32) + sizeof(ui16)) + portionInfo->GetTotalBlobBytes();
241-
return SumMemoryFix + ((ui64)500 << 20);
241+
SumMemoryRaw += portionInfo->GetTotalRawBytes();
242+
return SumMemoryFix + std::min<ui64>(SumMemoryRaw, ((ui64)500 << 20));
242243
}
243244

244245
} // namespace NKikimr::NOlap::NCompaction

ydb/core/tx/columnshard/engines/changes/general_compaction.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ class TGeneralCompactColumnEngineChanges: public TCompactColumnEngineChanges {
5050
class TMemoryPredictorChunkedPolicy: public IMemoryPredictor {
5151
private:
5252
ui64 SumMemoryFix = 0;
53+
ui64 SumMemoryRaw = 0;
5354
public:
5455
virtual ui64 AddPortion(const TPortionInfo::TConstPtr& portionInfo) override;
5556
};

0 commit comments

Comments
 (0)