Skip to content

Commit 9522b76

Browse files
fix
1 parent cff49ca commit 9522b76

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

ydb/core/tx/columnshard/engines/storage/granule/granule.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,8 +145,8 @@ void TGranuleMeta::UpsertPortionOnLoad(std::shared_ptr<TPortionInfo>&& portion)
145145
AFL_VERIFY(InsertedPortions.emplace(insertWriteId, portion).second);
146146
AFL_VERIFY(!Portions.contains(portion->GetPortionId()));
147147
} else {
148-
auto portionId = portion.GetPortionId();
149-
AFL_VERIFY(Portions.emplace(portionId, std::make_shared<TPortionInfo>(std::move(portion))).second);
148+
auto portionId = portion->GetPortionId();
149+
AFL_VERIFY(Portions.emplace(portionId, portion)).second);
150150
}
151151
}
152152

ydb/core/tx/columnshard/engines/ut/ut_logs_engine.cpp

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,14 +89,19 @@ class TTestDbWrapper : public IDbWrapper {
8989
}
9090

9191
virtual void WritePortion(const NOlap::TPortionInfo& portion) override {
92-
Portions[portion.GetPortionId()] = portion.MakeCopy();
92+
auto it = Portions.find(portion.GetPortionId());
93+
if (it == Portions.end()) {
94+
Portions.emplace(portion.GetPortionId(), portion.MakeCopy());
95+
} else {
96+
it->second = portion.MakeCopy();
97+
}
9398
}
9499
virtual void ErasePortion(const NOlap::TPortionInfo& portion) override {
95100
AFL_VERIFY(Portions.erase(portion.GetPortionId()));
96101
}
97102
virtual bool LoadPortions(const std::function<void(NOlap::TPortionInfoConstructor&&, const NKikimrTxColumnShard::TIndexPortionMeta&)>& callback) override {
98103
for (auto&& i : Portions) {
99-
callback(NOlap::TPortionInfoConstructor(i, false, true), i.GetMeta().SerializeToProto());
104+
callback(NOlap::TPortionInfoConstructor(i.second, false, true), i.second.GetMeta().SerializeToProto());
100105
}
101106
return true;
102107
}

0 commit comments

Comments
 (0)