Skip to content

Commit cf0394a

Browse files
fix test and correct normalizer conditions (#11504)
1 parent a819f67 commit cf0394a

File tree

5 files changed

+45
-10
lines changed

5 files changed

+45
-10
lines changed

.github/config/muted_ya.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ ydb/core/keyvalue/ut_trace TKeyValueTracingTest.WriteSmall
1818
ydb/core/kqp/ut/data_integrity KqpDataIntegrityTrails.Select
1919
ydb/core/kqp/ut/data_integrity KqpDataIntegrityTrails.UpsertEvWrite
2020
ydb/core/kqp/ut/data_integrity KqpDataIntegrityTrails.UpsertViaLegacyScripting-Streaming
21-
ydb/core/tx/columnshard/engines/ut TColumnEngineTestLogs.IndexTtl
2221
ydb/core/kqp/ut/olap KqpDecimalColumnShard.TestAggregation
2322
ydb/core/kqp/ut/olap KqpDecimalColumnShard.TestFilterCompare
2423
ydb/core/kqp/ut/olap KqpOlapBlobsSharing.BlobsSharingSplit1_1_clean_with_restarts

ydb/core/tx/columnshard/engines/column_engine_logs.cpp

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -515,15 +515,26 @@ std::shared_ptr<TSelectInfo> TColumnEngineForLogs::Select(
515515
return out;
516516
}
517517

518-
void TColumnEngineForLogs::OnTieringModified(
519-
const std::shared_ptr<NColumnShard::TTiersManager>& manager, const NColumnShard::TTtl& ttl, const std::optional<ui64> pathId) {
520-
if (!ActualizationStarted) {
521-
for (auto&& i : GranulesStorage->GetTables()) {
522-
i.second->StartActualizationIndex();
518+
bool TColumnEngineForLogs::StartActualization(const THashMap<ui64, TTiering>& specialPathEviction) {
519+
if (ActualizationStarted) {
520+
return false;
521+
}
522+
for (auto&& i : GranulesStorage->GetTables()) {
523+
i.second->StartActualizationIndex();
524+
}
525+
for (auto&& i : specialPathEviction) {
526+
auto g = GetGranuleOptional(i.first);
527+
if (g) {
528+
g->RefreshTiering(i.second);
523529
}
524530
}
525-
526531
ActualizationStarted = true;
532+
return true;
533+
}
534+
535+
void TColumnEngineForLogs::OnTieringModified(
536+
const std::shared_ptr<NColumnShard::TTiersManager>& manager, const NColumnShard::TTtl& ttl, const std::optional<ui64> pathId) {
537+
StartActualization({});
527538
AFL_VERIFY(manager);
528539
THashMap<ui64, TTiering> tierings = manager->GetTiering();
529540
ttl.AddTtls(tierings);

ydb/core/tx/columnshard/engines/column_engine_logs.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ class TColumnEngineForLogs: public IColumnEngine {
123123
public:
124124
virtual std::shared_ptr<ITxReader> BuildLoader(const std::shared_ptr<IBlobGroupSelector>& dsGroupSelector) override;
125125
bool FinishLoading();
126+
bool StartActualization(const THashMap<ui64, TTiering>& specialPathEviction);
126127

127128
virtual bool IsOverloadedByMetadata(const ui64 limit) const override {
128129
return limit < TGranulesStat::GetSumMetadataMemoryPortionsSize();

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

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -432,7 +432,33 @@ bool Cleanup(TColumnEngineForLogs& engine, TTestDbWrapper& db, TSnapshot snap, u
432432
return result;
433433
}
434434

435+
namespace {
436+
class TTestMetadataAccessorsSubscriber: public NOlap::IDataAccessorRequestsSubscriber {
437+
private:
438+
std::shared_ptr<IMetadataAccessorResultProcessor> Processor;
439+
TColumnEngineForLogs& Engine;
440+
441+
virtual void DoOnRequestsFinished(TDataAccessorsResult&& result) override {
442+
Processor->ApplyResult(std::move(result), Engine);
443+
}
444+
445+
public:
446+
TTestMetadataAccessorsSubscriber(const std::shared_ptr<IMetadataAccessorResultProcessor>& processor, TColumnEngineForLogs& engine)
447+
: Processor(processor)
448+
, Engine(engine) {
449+
}
450+
};
451+
452+
}
453+
435454
bool Ttl(TColumnEngineForLogs& engine, TTestDbWrapper& db, const THashMap<ui64, NOlap::TTiering>& pathEviction, ui32 expectedToDrop) {
455+
engine.StartActualization(pathEviction);
456+
std::vector<NOlap::TCSMetadataRequest> requests = engine.CollectMetadataRequests();
457+
for (auto&& i : requests) {
458+
i.GetRequest()->RegisterSubscriber(std::make_shared<TTestMetadataAccessorsSubscriber>(i.GetProcessor(), engine));
459+
engine.FetchDataAccessors(i.GetRequest());
460+
}
461+
436462
std::vector<std::shared_ptr<TTTLColumnEngineChanges>> vChanges = engine.StartTtl(pathEviction, EmptyDataLocksManager, 512 * 1024 * 1024);
437463
AFL_VERIFY(vChanges.size() == 1)("count", vChanges.size());
438464
auto changes = vChanges.front();

ydb/core/tx/columnshard/normalizer/portion/restore_v1_chunks.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -145,9 +145,7 @@ TConclusion<std::vector<INormalizerTask::TPtr>> TNormalizer::DoInit(
145145
if (!ready) {
146146
return TConclusionStatus::Fail("Not ready");
147147
}
148-
if (!AppDataVerified().ColumnShardConfig.GetColumnChunksV0Usage()) {
149-
return std::vector<INormalizerTask::TPtr>();
150-
}
148+
AFL_VERIFY(AppDataVerified().ColumnShardConfig.GetColumnChunksV0Usage());
151149
THashMap<ui64, TPortionLoadContext> portions0;
152150
THashSet<ui64> existPortions0;
153151
THashMap<ui64, std::map<TFullChunkAddress, TColumnChunkLoadContext>> columns0;

0 commit comments

Comments
 (0)