Skip to content

Commit d3115e9

Browse files
Merge 217698f into 95f1072
2 parents 95f1072 + 217698f commit d3115e9

File tree

4 files changed

+18
-7
lines changed

4 files changed

+18
-7
lines changed

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,7 @@ TConclusionStatus TInsertColumnEngineChanges::DoConstructBlobs(TConstructionCont
230230
}
231231
pathBatches.AddChunkInfo(inserted, context);
232232
}
233+
NoAppendIsCorrect = pathBatches.GetData().empty();
233234

234235
pathBatches.FinishChunksInfo();
235236

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ void TChangesWithAppend::DoWriteIndexOnComplete(NColumnShard::TColumnShard* self
119119
}
120120

121121
void TChangesWithAppend::DoCompile(TFinalizationContext& context) {
122-
AFL_VERIFY(PortionsToRemove.size() + PortionsToMove.size() + AppendedPortions.size());
122+
AFL_VERIFY(PortionsToRemove.size() + PortionsToMove.size() + AppendedPortions.size() || NoAppendIsCorrect);
123123
for (auto&& i : AppendedPortions) {
124124
i.GetPortionConstructor().MutablePortionConstructor().SetPortionId(context.NextPortionId());
125125
i.GetPortionConstructor().MutablePortionConstructor().MutableMeta().SetCompactionLevel(TargetCompactionLevel.value_or(0));

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

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,13 @@ class TChangesWithAppend: public TColumnEngineChanges {
1111
using TBase = TColumnEngineChanges;
1212
THashMap<TPortionAddress, std::shared_ptr<const TPortionInfo>> PortionsToRemove;
1313
THashMap<TPortionAddress, std::shared_ptr<const TPortionInfo>> PortionsToMove;
14+
std::vector<TWritePortionInfoWithBlobsResult> AppendedPortions;
1415

1516
protected:
1617
std::optional<ui64> TargetCompactionLevel;
1718
TSaverContext SaverContext;
19+
bool NoAppendIsCorrect = false;
20+
1821
virtual void OnDataAccessorsInitialized(const TDataAccessorsInitializationContext& /*context*/) override {
1922

2023
}
@@ -58,6 +61,14 @@ class TChangesWithAppend: public TColumnEngineChanges {
5861

5962
}
6063

64+
const std::vector<TWritePortionInfoWithBlobsResult>& GetAppendedPortions() const {
65+
return AppendedPortions;
66+
}
67+
68+
std::vector<TWritePortionInfoWithBlobsResult>& MutableAppendedPortions() {
69+
return AppendedPortions;
70+
}
71+
6172
void AddMovePortions(const std::vector<std::shared_ptr<TPortionInfo>>& portions) {
6273
for (auto&& i : portions) {
6374
AFL_VERIFY(i);
@@ -90,7 +101,6 @@ class TChangesWithAppend: public TColumnEngineChanges {
90101
}
91102
}
92103

93-
std::vector<TWritePortionInfoWithBlobsResult> AppendedPortions;
94104
virtual ui32 GetWritePortionsCount() const override {
95105
return AppendedPortions.size();
96106
}

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -333,14 +333,14 @@ bool Insert(TColumnEngineForLogs& engine, TTestDbWrapper& db, TSnapshot snap, st
333333
NOlap::TConstructionContext context(engine.GetVersionedIndex(), NColumnShard::TIndexationCounters("Indexation"), snap);
334334
Y_ABORT_UNLESS(changes->ConstructBlobs(context).Ok());
335335

336-
UNIT_ASSERT_VALUES_EQUAL(changes->AppendedPortions.size(), 1);
336+
UNIT_ASSERT_VALUES_EQUAL(changes->GetAppendedPortions().size(), 1);
337337
ui32 blobsCount = 0;
338-
for (auto&& i : changes->AppendedPortions) {
338+
for (auto&& i : changes->GetAppendedPortions()) {
339339
blobsCount += i.GetBlobs().size();
340340
}
341341
UNIT_ASSERT_VALUES_EQUAL(blobsCount, 1); // add 2 columns: planStep, txId
342342

343-
AddIdsToBlobs(changes->AppendedPortions, blobs, step);
343+
AddIdsToBlobs(changes->MutableAppendedPortions(), blobs, step);
344344

345345
const bool result = engine.ApplyChangesOnTxCreate(changes, snap) && engine.ApplyChangesOnExecute(db, changes, snap);
346346

@@ -394,7 +394,7 @@ bool Compact(TColumnEngineForLogs& engine, TTestDbWrapper& db, TSnapshot snap, N
394394
Y_ABORT_UNLESS(changes->ConstructBlobs(context).Ok());
395395

396396
// UNIT_ASSERT_VALUES_EQUAL(changes->AppendedPortions.size(), expected.NewPortions);
397-
AddIdsToBlobs(changes->AppendedPortions, changes->Blobs, step);
397+
AddIdsToBlobs(changes->MutableAppendedPortions(), changes->Blobs, step);
398398

399399
// UNIT_ASSERT_VALUES_EQUAL(changes->GetTmpGranuleIds().size(), expected.NewGranules);
400400

@@ -404,7 +404,7 @@ bool Compact(TColumnEngineForLogs& engine, TTestDbWrapper& db, TSnapshot snap, N
404404
NOlap::TWriteIndexCompleteContext contextComplete(NActors::TActivationContext::AsActorContext(), 0, 0, TDuration::Zero(), engine, snap);
405405
changes->WriteIndexOnComplete(nullptr, contextComplete);
406406
if (blobsPool) {
407-
for (auto&& i : changes->AppendedPortions) {
407+
for (auto&& i : changes->GetAppendedPortions()) {
408408
for (auto&& r : i.GetPortionResult().TestGetRecords()) {
409409
Y_ABORT_UNLESS(blobsPool
410410
->emplace(i.GetPortionResult().GetPortionInfo().RestoreBlobRange(r.BlobRange),

0 commit comments

Comments
 (0)