Skip to content

Commit cac49bc

Browse files
committed
identify schema by presetId+schemaVersion
1 parent 91d9b8e commit cac49bc

File tree

9 files changed

+75
-47
lines changed

9 files changed

+75
-47
lines changed

ydb/core/tx/columnshard/data_sharing/destination/transactions/tx_data_from_source.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ bool TTxDataFromSource::DoExecute(NTabletFlatExecutor::TTransactionContext& txc,
1515
auto& index = Self->TablesManager.MutablePrimaryIndexAsVerified<NOlap::TColumnEngineForLogs>();
1616

1717
for (auto& info : SchemeHistory) {
18-
index.RegisterOldSchemaVersion(info.GetSnapshot(), info.GetSchema());
18+
index.RegisterOldSchemaVersion(info.GetSnapshot(), info.GetProto().GetId(), info.GetSchema());
1919
}
2020

2121
TDbWrapper dbWrapper(txc.DB, nullptr);

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -354,9 +354,9 @@ class IColumnEngine {
354354
const std::shared_ptr<NDataLocks::TManager>& dataLocksManager, const ui64 memoryUsageLimit) noexcept = 0;
355355
virtual bool ApplyChangesOnTxCreate(std::shared_ptr<TColumnEngineChanges> changes, const TSnapshot& snapshot) noexcept = 0;
356356
virtual bool ApplyChangesOnExecute(IDbWrapper& db, std::shared_ptr<TColumnEngineChanges> changes, const TSnapshot& snapshot) noexcept = 0;
357-
virtual void RegisterSchemaVersion(const TSnapshot& snapshot, TIndexInfo&& info) = 0;
358-
virtual void RegisterSchemaVersion(const TSnapshot& snapshot, const TSchemaInitializationData& schema) = 0;
359-
virtual void RegisterOldSchemaVersion(const TSnapshot& snapshot, const TSchemaInitializationData& schema) = 0;
357+
virtual void RegisterSchemaVersion(const TSnapshot& snapshot, const ui64 presetId, TIndexInfo&& info) = 0;
358+
virtual void RegisterSchemaVersion(const TSnapshot& snapshot, const ui64 presetId, const TSchemaInitializationData& schema) = 0;
359+
virtual void RegisterOldSchemaVersion(const TSnapshot& snapshot, const ui64 presetId, const TSchemaInitializationData& schema) = 0;
360360

361361
virtual const TMap<ui64, std::shared_ptr<TColumnEngineStats>>& GetStats() const = 0;
362362
virtual const TColumnEngineStats& GetTotalStats() = 0;

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

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ namespace NKikimr::NOlap {
2828

2929
TColumnEngineForLogs::TColumnEngineForLogs(const ui64 tabletId, const std::shared_ptr<TSchemaObjectsCache>& schemaCache,
3030
const std::shared_ptr<NDataAccessorControl::IDataAccessorsManager>& dataAccessorsManager,
31-
const std::shared_ptr<IStoragesManager>& storagesManager, const TSnapshot& snapshot, const TSchemaInitializationData& schema)
31+
const std::shared_ptr<IStoragesManager>& storagesManager, const TSnapshot& snapshot, const ui64 presetId, const TSchemaInitializationData& schema)
3232
: GranulesStorage(std::make_shared<TGranulesStorage>(SignalCounters, dataAccessorsManager, storagesManager))
3333
, DataAccessorsManager(dataAccessorsManager)
3434
, StoragesManager(storagesManager)
@@ -37,12 +37,12 @@ TColumnEngineForLogs::TColumnEngineForLogs(const ui64 tabletId, const std::share
3737
, LastPortion(0)
3838
, LastGranule(0) {
3939
ActualizationController = std::make_shared<NActualizer::TController>();
40-
RegisterSchemaVersion(snapshot, schema);
40+
RegisterSchemaVersion(snapshot, presetId, schema);
4141
}
4242

4343
TColumnEngineForLogs::TColumnEngineForLogs(const ui64 tabletId, const std::shared_ptr<TSchemaObjectsCache>& schemaCache,
4444
const std::shared_ptr<NDataAccessorControl::IDataAccessorsManager>& dataAccessorsManager,
45-
const std::shared_ptr<IStoragesManager>& storagesManager, const TSnapshot& snapshot, TIndexInfo&& schema)
45+
const std::shared_ptr<IStoragesManager>& storagesManager, const TSnapshot& snapshot, const ui64 presetId, TIndexInfo&& schema)
4646
: GranulesStorage(std::make_shared<TGranulesStorage>(SignalCounters, dataAccessorsManager, storagesManager))
4747
, DataAccessorsManager(dataAccessorsManager)
4848
, StoragesManager(storagesManager)
@@ -51,7 +51,7 @@ TColumnEngineForLogs::TColumnEngineForLogs(const ui64 tabletId, const std::share
5151
, LastPortion(0)
5252
, LastGranule(0) {
5353
ActualizationController = std::make_shared<NActualizer::TController>();
54-
RegisterSchemaVersion(snapshot, std::move(schema));
54+
RegisterSchemaVersion(snapshot, presetId, std::move(schema));
5555
}
5656

5757
const TMap<ui64, std::shared_ptr<TColumnEngineStats>>& TColumnEngineForLogs::GetStats() const {
@@ -140,7 +140,7 @@ void TColumnEngineForLogs::UpdatePortionStats(
140140
}
141141
}
142142

143-
void TColumnEngineForLogs::RegisterSchemaVersion(const TSnapshot& snapshot, TIndexInfo&& indexInfo) {
143+
void TColumnEngineForLogs::RegisterSchemaVersion(const TSnapshot& snapshot, const ui64 presetId, TIndexInfo&& indexInfo) {
144144
AFL_VERIFY(DataAccessorsManager);
145145
bool switchOptimizer = false;
146146
bool switchAccessorsManager = false;
@@ -152,7 +152,7 @@ void TColumnEngineForLogs::RegisterSchemaVersion(const TSnapshot& snapshot, TInd
152152
}
153153

154154
const bool isCriticalScheme = indexInfo.GetSchemeNeedActualization();
155-
auto* indexInfoActual = VersionedIndex.AddIndex(snapshot, SchemaObjectsCache->GetIndexInfoCache(std::move(indexInfo)));
155+
auto* indexInfoActual = VersionedIndex.AddIndex(snapshot, SchemaObjectsCache->UpsertIndexInfo(presetId, std::move(indexInfo)));
156156
if (isCriticalScheme) {
157157
StartActualization({});
158158
for (auto&& i : GranulesStorage->GetTables()) {
@@ -172,7 +172,7 @@ void TColumnEngineForLogs::RegisterSchemaVersion(const TSnapshot& snapshot, TInd
172172
}
173173
}
174174

175-
void TColumnEngineForLogs::RegisterSchemaVersion(const TSnapshot& snapshot, const TSchemaInitializationData& schema) {
175+
void TColumnEngineForLogs::RegisterSchemaVersion(const TSnapshot& snapshot, const ui64 presetId, const TSchemaInitializationData& schema) {
176176
AFL_VERIFY(VersionedIndex.IsEmpty() || schema.GetVersion() >= VersionedIndex.GetLastSchema()->GetVersion())("empty", VersionedIndex.IsEmpty())("current", schema.GetVersion())(
177177
"last", VersionedIndex.GetLastSchema()->GetVersion());
178178

@@ -186,10 +186,10 @@ void TColumnEngineForLogs::RegisterSchemaVersion(const TSnapshot& snapshot, cons
186186
indexInfoOptional = NOlap::TIndexInfo::BuildFromProto(schema.GetSchemaVerified(), StoragesManager, SchemaObjectsCache);
187187
}
188188
AFL_VERIFY(indexInfoOptional);
189-
RegisterSchemaVersion(snapshot, std::move(*indexInfoOptional));
189+
RegisterSchemaVersion(snapshot, presetId, std::move(*indexInfoOptional));
190190
}
191191

192-
void TColumnEngineForLogs::RegisterOldSchemaVersion(const TSnapshot& snapshot, const TSchemaInitializationData& schema) {
192+
void TColumnEngineForLogs::RegisterOldSchemaVersion(const TSnapshot& snapshot, const ui64 presetId, const TSchemaInitializationData& schema) {
193193
AFL_VERIFY(!VersionedIndex.IsEmpty());
194194

195195
ui64 version = schema.GetVersion();
@@ -217,7 +217,7 @@ void TColumnEngineForLogs::RegisterOldSchemaVersion(const TSnapshot& snapshot, c
217217
}
218218

219219
AFL_VERIFY(indexInfoOptional);
220-
VersionedIndex.AddIndex(snapshot, SchemaObjectsCache->GetIndexInfoCache(std::move(*indexInfoOptional)));
220+
VersionedIndex.AddIndex(snapshot, SchemaObjectsCache->UpsertIndexInfo(presetId, std::move(*indexInfoOptional)));
221221
}
222222

223223
std::shared_ptr<ITxReader> TColumnEngineForLogs::BuildLoader(const std::shared_ptr<IBlobGroupSelector>& dsGroupSelector) {

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

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -100,10 +100,11 @@ class TColumnEngineForLogs: public IColumnEngine {
100100

101101
TColumnEngineForLogs(const ui64 tabletId, const std::shared_ptr<TSchemaObjectsCache>& schemaCache,
102102
const std::shared_ptr<NDataAccessorControl::IDataAccessorsManager>& dataAccessorsManager,
103-
const std::shared_ptr<IStoragesManager>& storagesManager, const TSnapshot& snapshot, const TSchemaInitializationData& schema);
103+
const std::shared_ptr<IStoragesManager>& storagesManager, const TSnapshot& snapshot, const ui64 presetId,
104+
const TSchemaInitializationData& schema);
104105
TColumnEngineForLogs(const ui64 tabletId, const std::shared_ptr<TSchemaObjectsCache>& schemaCache,
105106
const std::shared_ptr<NDataAccessorControl::IDataAccessorsManager>& dataAccessorsManager,
106-
const std::shared_ptr<IStoragesManager>& storagesManager, const TSnapshot& snapshot, TIndexInfo&& schema);
107+
const std::shared_ptr<IStoragesManager>& storagesManager, const TSnapshot& snapshot, const ui64 presetId, TIndexInfo&& schema);
107108

108109
void OnTieringModified(const std::optional<NOlap::TTiering>& ttl, const ui64 pathId) override;
109110
void OnTieringModified(const THashMap<ui64, NOlap::TTiering>& ttl) override;
@@ -159,9 +160,9 @@ class TColumnEngineForLogs: public IColumnEngine {
159160
virtual bool ApplyChangesOnExecute(
160161
IDbWrapper& db, std::shared_ptr<TColumnEngineChanges> indexChanges, const TSnapshot& snapshot) noexcept override;
161162

162-
void RegisterSchemaVersion(const TSnapshot& snapshot, TIndexInfo&& info) override;
163-
void RegisterSchemaVersion(const TSnapshot& snapshot, const TSchemaInitializationData& schema) override;
164-
void RegisterOldSchemaVersion(const TSnapshot& snapshot, const TSchemaInitializationData& schema) override;
163+
void RegisterSchemaVersion(const TSnapshot& snapshot, const ui64 presetId, TIndexInfo&& info) override;
164+
void RegisterSchemaVersion(const TSnapshot& snapshot, const ui64 presetId, const TSchemaInitializationData& schema) override;
165+
void RegisterOldSchemaVersion(const TSnapshot& snapshot, const ui64 presetId, const TSchemaInitializationData& schema) override;
165166

166167
std::shared_ptr<TSelectInfo> Select(
167168
ui64 pathId, TSnapshot snapshot, const TPKRangesFilter& pkRangesFilter, const bool withUncommitted) const override;

ydb/core/tx/columnshard/engines/scheme/objects_cache.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,17 @@
44

55
namespace NKikimr::NOlap {
66

7-
std::shared_ptr<const TIndexInfo> TSchemaObjectsCache::GetIndexInfoCache(TIndexInfo&& indexInfo) {
8-
const ui64 schemaVersion = indexInfo.GetVersion();
9-
std::unique_lock lock(SchemasMutex);
10-
auto* findSchema = SchemasByVersion.FindPtr(schemaVersion);
7+
std::shared_ptr<const TIndexInfo> TSchemaObjectsCache::UpsertIndexInfo(const ui64 presetId, TIndexInfo&& indexInfo) {
8+
const TSchemaVersionId versionId(presetId, indexInfo.GetVersion());
9+
TGuard lock(SchemasMutex);
10+
auto* findSchema = SchemasByVersion.FindPtr(versionId);
1111
std::shared_ptr<const TIndexInfo> cachedSchema;
1212
if (findSchema) {
1313
cachedSchema = findSchema->lock();
1414
}
1515
if (!cachedSchema) {
1616
cachedSchema = std::make_shared<TIndexInfo>(std::move(indexInfo));
17-
SchemasByVersion[schemaVersion] = cachedSchema;
17+
SchemasByVersion[versionId] = cachedSchema;
1818
}
1919
return cachedSchema;
2020
}

ydb/core/tx/columnshard/engines/scheme/objects_cache.h

Lines changed: 37 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,29 @@
88
namespace NKikimr::NOlap {
99

1010
class TSchemaObjectsCache {
11+
public:
12+
class TSchemaVersionId {
13+
private:
14+
YDB_READONLY_DEF(ui64, PresetId);
15+
YDB_READONLY_DEF(ui64, Version);
16+
17+
public:
18+
struct THash {
19+
ui64 operator()(const TSchemaVersionId& object) const {
20+
return CombineHashes(object.PresetId, object.Version);
21+
}
22+
};
23+
24+
bool operator==(const TSchemaVersionId& other) const {
25+
return std::tie(PresetId, Version) == std::tie(other.PresetId, other.Version);
26+
}
27+
28+
TSchemaVersionId(const ui64 presetId, const ui64 version)
29+
: PresetId(presetId)
30+
, Version(version) {
31+
}
32+
};
33+
1134
private:
1235
THashMap<TString, std::shared_ptr<arrow::Field>> Fields;
1336
mutable ui64 AcceptionFieldsCount = 0;
@@ -17,15 +40,15 @@ class TSchemaObjectsCache {
1740
mutable ui64 AcceptionFeaturesCount = 0;
1841
mutable TMutex FeaturesMutex;
1942

20-
THashMap<ui64, std::weak_ptr<const TIndexInfo>> SchemasByVersion;
43+
THashMap<TSchemaVersionId, std::weak_ptr<const TIndexInfo>, TSchemaVersionId::THash> SchemasByVersion;
2144
mutable TMutex SchemasMutex;
2245

2346
THashSet<TString> StringsCache;
2447
mutable TMutex StringsMutex;
2548

2649
public:
2750
const TString& GetStringCache(const TString& original) {
28-
std::unique_lock lock(StringsMutex);
51+
TGuard lock(StringsMutex);
2952
auto it = StringsCache.find(original);
3053
if (it == StringsCache.end()) {
3154
it = StringsCache.emplace(original).first;
@@ -35,16 +58,16 @@ class TSchemaObjectsCache {
3558

3659
void RegisterField(const TString& fingerprint, const std::shared_ptr<arrow::Field>& f) {
3760
AFL_TRACE(NKikimrServices::TX_COLUMNSHARD)("event", "register_field")("fp", fingerprint)("f", f->ToString());
38-
std::unique_lock lock(FieldsMutex);
61+
TGuard lock(FieldsMutex);
3962
AFL_VERIFY(Fields.emplace(fingerprint, f).second);
4063
}
4164
void RegisterColumnFeatures(const TString& fingerprint, const std::shared_ptr<TColumnFeatures>& f) {
4265
AFL_TRACE(NKikimrServices::TX_COLUMNSHARD)("event", "register_column_features")("fp", fingerprint)("info", f->DebugString());
43-
std::unique_lock lock(FeaturesMutex);
66+
TGuard lock(FeaturesMutex);
4467
AFL_VERIFY(ColumnFeatures.emplace(fingerprint, f).second);
4568
}
4669
std::shared_ptr<arrow::Field> GetField(const TString& fingerprint) const {
47-
std::unique_lock lock(FieldsMutex);
70+
TGuard lock(FieldsMutex);
4871
auto it = Fields.find(fingerprint);
4972
if (it == Fields.end()) {
5073
AFL_TRACE(NKikimrServices::TX_COLUMNSHARD)("event", "get_field_miss")("fp", fingerprint)("count", Fields.size())(
@@ -59,7 +82,7 @@ class TSchemaObjectsCache {
5982
}
6083
template <class TConstructor>
6184
TConclusion<std::shared_ptr<TColumnFeatures>> GetOrCreateColumnFeatures(const TString& fingerprint, const TConstructor& constructor) {
62-
std::unique_lock lock(FeaturesMutex);
85+
TGuard lock(FeaturesMutex);
6386
auto it = ColumnFeatures.find(fingerprint);
6487
if (it == ColumnFeatures.end()) {
6588
AFL_TRACE(NKikimrServices::TX_COLUMNSHARD)("event", "get_column_features_miss")("fp", UrlEscapeRet(fingerprint))(
@@ -79,26 +102,30 @@ class TSchemaObjectsCache {
79102
return it->second;
80103
}
81104

82-
std::shared_ptr<const TIndexInfo> GetIndexInfoCache(TIndexInfo&& indexInfo);
105+
std::shared_ptr<const TIndexInfo> UpsertIndexInfo(const ui64 presetId, TIndexInfo&& indexInfo);
83106
};
84107

85108
class TSchemaCachesManager {
86109
private:
87110
THashMap<ui64, std::shared_ptr<TSchemaObjectsCache>> CacheByTableOwner;
88111
TMutex Mutex;
89112

90-
public:
91-
std::shared_ptr<TSchemaObjectsCache> GetCache(const ui64 ownerPathId) {
113+
std::shared_ptr<TSchemaObjectsCache> GetCacheImpl(const ui64 ownerPathId) {
92114
if (!ownerPathId) {
93115
return std::make_shared<TSchemaObjectsCache>();
94116
}
95-
std::unique_lock lock(Mutex);
117+
TGuard lock(Mutex);
96118
auto findCache = CacheByTableOwner.FindPtr(ownerPathId);
97119
if (findCache) {
98120
return *findCache;
99121
}
100122
return CacheByTableOwner.emplace(ownerPathId, std::make_shared<TSchemaObjectsCache>()).first->second;
101123
}
124+
125+
public:
126+
static std::shared_ptr<TSchemaObjectsCache> GetCache(const ui64 ownerPathId) {
127+
return Singleton<TSchemaCachesManager>()->GetCacheImpl(ownerPathId);
128+
}
102129
};
103130

104131
} // namespace NKikimr::NOlap

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

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -524,7 +524,7 @@ Y_UNIT_TEST_SUITE(TColumnEngineTestLogs) {
524524
// load
525525
TSnapshot indexSnapshot(1, 1);
526526
TColumnEngineForLogs engine(
527-
0, std::make_shared<TSchemaObjectsCache>(), NDataAccessorControl::TLocalManager::BuildForTests(), CommonStoragesManager, indexSnapshot, TIndexInfo(tableInfo));
527+
0, std::make_shared<TSchemaObjectsCache>(), NDataAccessorControl::TLocalManager::BuildForTests(), CommonStoragesManager, indexSnapshot, 0, TIndexInfo(tableInfo));
528528
for (auto&& i : paths) {
529529
engine.RegisterTable(i);
530530
}
@@ -609,7 +609,7 @@ Y_UNIT_TEST_SUITE(TColumnEngineTestLogs) {
609609

610610
TSnapshot indexSnapshot(1, 1);
611611
TColumnEngineForLogs engine(
612-
0, std::make_shared<TSchemaObjectsCache>(), NDataAccessorControl::TLocalManager::BuildForTests(), CommonStoragesManager, indexSnapshot, TIndexInfo(tableInfo));
612+
0, std::make_shared<TSchemaObjectsCache>(), NDataAccessorControl::TLocalManager::BuildForTests(), CommonStoragesManager, indexSnapshot, 0, TIndexInfo(tableInfo));
613613
engine.RegisterTable(pathId);
614614
engine.TestingLoad(db);
615615

@@ -710,7 +710,7 @@ Y_UNIT_TEST_SUITE(TColumnEngineTestLogs) {
710710

711711
TSnapshot indexSnapshot(1, 1);
712712
TColumnEngineForLogs engine(
713-
0, std::make_shared<TSchemaObjectsCache>(), NDataAccessorControl::TLocalManager::BuildForTests(), CommonStoragesManager, indexSnapshot, TIndexInfo(tableInfo));
713+
0, std::make_shared<TSchemaObjectsCache>(), NDataAccessorControl::TLocalManager::BuildForTests(), CommonStoragesManager, indexSnapshot, 0, TIndexInfo(tableInfo));
714714
engine.RegisterTable(pathId);
715715
engine.TestingLoad(db);
716716

@@ -736,7 +736,7 @@ Y_UNIT_TEST_SUITE(TColumnEngineTestLogs) {
736736

737737
{ // check it's overloaded after reload
738738
TColumnEngineForLogs tmpEngine(
739-
0, std::make_shared<TSchemaObjectsCache>(), NDataAccessorControl::TLocalManager::BuildForTests(), CommonStoragesManager, TSnapshot::Zero(), TIndexInfo(tableInfo));
739+
0, std::make_shared<TSchemaObjectsCache>(), NDataAccessorControl::TLocalManager::BuildForTests(), CommonStoragesManager, TSnapshot::Zero(), 0, TIndexInfo(tableInfo));
740740
tmpEngine.RegisterTable(pathId);
741741
tmpEngine.TestingLoad(db);
742742
}
@@ -768,7 +768,7 @@ Y_UNIT_TEST_SUITE(TColumnEngineTestLogs) {
768768

769769
{ // check it's not overloaded after reload
770770
TColumnEngineForLogs tmpEngine(
771-
0, std::make_shared<TSchemaObjectsCache>(), NDataAccessorControl::TLocalManager::BuildForTests(), CommonStoragesManager, TSnapshot::Zero(), TIndexInfo(tableInfo));
771+
0, std::make_shared<TSchemaObjectsCache>(), NDataAccessorControl::TLocalManager::BuildForTests(), CommonStoragesManager, TSnapshot::Zero(), 0, TIndexInfo(tableInfo));
772772
tmpEngine.RegisterTable(pathId);
773773
tmpEngine.TestingLoad(db);
774774
}
@@ -789,7 +789,7 @@ Y_UNIT_TEST_SUITE(TColumnEngineTestLogs) {
789789
TSnapshot indexSnapshot(1, 1);
790790
{
791791
TColumnEngineForLogs engine(
792-
0, std::make_shared<TSchemaObjectsCache>(), NDataAccessorControl::TLocalManager::BuildForTests(), CommonStoragesManager, indexSnapshot, TIndexInfo(tableInfo));
792+
0, std::make_shared<TSchemaObjectsCache>(), NDataAccessorControl::TLocalManager::BuildForTests(), CommonStoragesManager, indexSnapshot, 0, TIndexInfo(tableInfo));
793793
engine.RegisterTable(pathId);
794794
engine.TestingLoad(db);
795795

@@ -868,7 +868,7 @@ Y_UNIT_TEST_SUITE(TColumnEngineTestLogs) {
868868
{
869869
// load
870870
TColumnEngineForLogs engine(
871-
0, std::make_shared<TSchemaObjectsCache>(), NDataAccessorControl::TLocalManager::BuildForTests(), CommonStoragesManager, indexSnapshot, TIndexInfo(tableInfo));
871+
0, std::make_shared<TSchemaObjectsCache>(), NDataAccessorControl::TLocalManager::BuildForTests(), CommonStoragesManager, indexSnapshot, 0, TIndexInfo(tableInfo));
872872
engine.RegisterTable(pathId);
873873
engine.TestingLoad(db);
874874

ydb/core/tx/columnshard/loading/stages.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ bool TSpecialValuesInitializer::DoPrecharge(NTabletFlatExecutor::TTransactionCon
195195
bool TTablesManagerInitializer::DoExecute(NTabletFlatExecutor::TTransactionContext& txc, const TActorContext& /*ctx*/) {
196196
NIceDb::TNiceDb db(txc.DB);
197197
TTablesManager tablesManagerLocal(Self->StoragesManager, Self->DataAccessorsManager.GetObjectPtrVerified(),
198-
Singleton<NOlap::TSchemaCachesManager>()->GetCache(Self->OwnerPathId), Self->TabletID());
198+
NOlap::TSchemaCachesManager::GetCache(Self->OwnerPathId), Self->TabletID());
199199
{
200200
TMemoryProfileGuard g("TTxInit/TTablesManager");
201201
if (!tablesManagerLocal.InitFromDB(db)) {

0 commit comments

Comments
 (0)