diff --git a/ydb/core/tx/columnshard/columnshard__init.cpp b/ydb/core/tx/columnshard/columnshard__init.cpp index 92b13656255d..ad2db7e1a672 100644 --- a/ydb/core/tx/columnshard/columnshard__init.cpp +++ b/ydb/core/tx/columnshard/columnshard__init.cpp @@ -99,8 +99,13 @@ bool TTxInit::Precharge(TTransactionContext& txc) { } bool TTxInit::ReadEverything(TTransactionContext& txc, const TActorContext& ctx) { - if (!Precharge(txc)) { - return false; + TTablesManager tManagerLocal(Self->StoragesManager, Self->TabletID()); + { + TLoadTimeSignals::TLoadTimer timer = tManagerLocal.GetLoadTimeCounters()->PrechargeTimeCounters.StartGuard(); + if (!Precharge(txc)) { + timer.AddLoadingFail(); + return false; + } } NIceDb::TNiceDb db(txc.DB); @@ -108,7 +113,6 @@ bool TTxInit::ReadEverything(TTransactionContext& txc, const TActorContext& ctx) NOlap::TDbWrapper dbTable(txc.DB, &dsGroupSelector); { ACFL_DEBUG("step", "TTablesManager::Load_Start"); - TTablesManager tManagerLocal(Self->StoragesManager, Self->TabletID()); { TMemoryProfileGuard g("TTxInit/TTablesManager"); if (!tManagerLocal.InitFromDB(db)) { diff --git a/ydb/core/tx/columnshard/columnshard_impl.cpp b/ydb/core/tx/columnshard/columnshard_impl.cpp index 764da171f626..6d03f3dae2a2 100644 --- a/ydb/core/tx/columnshard/columnshard_impl.cpp +++ b/ydb/core/tx/columnshard/columnshard_impl.cpp @@ -89,7 +89,8 @@ TColumnShard::TColumnShard(TTabletStorageInfo* info, const TActorId& tablet) , TTLTaskSubscription(NOlap::TTTLColumnEngineChanges::StaticTypeName(), Counters.GetSubscribeCounters()) , BackgroundController(Counters.GetBackgroundControllerCounters()) , NormalizerController(StoragesManager, Counters.GetSubscribeCounters()) - , SysLocks(this) { + , SysLocks(this) +{ } void TColumnShard::OnDetach(const TActorContext& ctx) { diff --git a/ydb/core/tx/columnshard/counters/common_data.h b/ydb/core/tx/columnshard/counters/common_data.h index 79af277b7948..5e6cfc13c2b4 100644 --- a/ydb/core/tx/columnshard/counters/common_data.h +++ b/ydb/core/tx/columnshard/counters/common_data.h @@ -120,6 +120,7 @@ class TTableLoadTimeCounters { NColumnShard::TLoadTimeSignals SchemaPresetLoadTimeCounters; NColumnShard::TLoadTimeSignals TableVersionsLoadTimeCounters; NColumnShard::TLoadTimeSignals SchemaPresetVersionsLoadTimeCounters; + NColumnShard::TLoadTimeSignals PrechargeTimeCounters; public: TTableLoadTimeCounters() @@ -127,6 +128,7 @@ class TTableLoadTimeCounters { , SchemaPresetLoadTimeCounters("SchemaPreset") , TableVersionsLoadTimeCounters("TableVersionss") , SchemaPresetVersionsLoadTimeCounters("SchemaPresetVersions") + , PrechargeTimeCounters("Precharge") { } }; diff --git a/ydb/core/tx/columnshard/tables_manager.h b/ydb/core/tx/columnshard/tables_manager.h index 76e2e3851276..91b351aa884f 100644 --- a/ydb/core/tx/columnshard/tables_manager.h +++ b/ydb/core/tx/columnshard/tables_manager.h @@ -151,8 +151,14 @@ class TTablesManager { std::unique_ptr LoadTimeCounters; ui64 TabletId = 0; public: + friend class TTxInit; + TTablesManager(const std::shared_ptr& storagesManager, const ui64 tabletId); + const std::unique_ptr& GetLoadTimeCounters() const { + return LoadTimeCounters; + } + bool TryFinalizeDropPathOnExecute(NTable::TDatabase& dbTable, const ui64 pathId) const; bool TryFinalizeDropPathOnComplete(const ui64 pathId);