Skip to content

Commit

Permalink
fix
Browse files Browse the repository at this point in the history
  • Loading branch information
ivanmorozov333 committed Jan 19, 2024
1 parent 1c80c1c commit 40a81b2
Showing 1 changed file with 6 additions and 3 deletions.
9 changes: 6 additions & 3 deletions ydb/core/tx/columnshard/engines/changes/general_compaction.h
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ class TGeneralCompactColumnEngineChanges: public TCompactColumnEngineChanges {
virtual ui64 AddPortion(const TPortionInfo& portionInfo) override {
for (auto&& i : portionInfo.GetRecords()) {
SumMemory += i.BlobRange.Size;
SumMemory += i.GetMeta().GetRawBytesVerified();
SumMemory += 2 * i.GetMeta().GetRawBytesVerified();
}
return SumMemory;
}
Expand All @@ -51,20 +51,23 @@ class TGeneralCompactColumnEngineChanges: public TCompactColumnEngineChanges {
class TMemoryPredictorChunkedPolicy: public IMemoryPredictor {
private:
ui64 SumMemory = 0;
ui32 PortionsCount = 0;
THashMap<ui32, ui64> MaxMemoryByColumnChunk;
public:
virtual ui64 AddPortion(const TPortionInfo& portionInfo) override {
SumMemory += portionInfo.GetRecordsCount() * (2 * sizeof(ui64) + sizeof(ui32) + sizeof(ui16));
for (auto&& i : portionInfo.GetRecords()) {
SumMemory += i.BlobRange.Size;
auto it = MaxMemoryByColumnChunk.find(i.GetColumnId());
++PortionsCount;
if (it == MaxMemoryByColumnChunk.end()) {
it = MaxMemoryByColumnChunk.emplace(i.GetColumnId(), i.GetMeta().GetRawBytesVerified()).first;
SumMemory += it->second * PortionsCount;
} else if (it->second < i.GetMeta().GetRawBytesVerified()) {
SumMemory -= it->second;
SumMemory -= it->second * (PortionsCount - 1);
it->second = i.GetMeta().GetRawBytesVerified();
SumMemory += it->second * PortionsCount;
}
SumMemory += it->second;
}
return SumMemory;
}
Expand Down

0 comments on commit 40a81b2

Please sign in to comment.