diff --git a/ydb/core/kqp/workload_service/kqp_workload_service.cpp b/ydb/core/kqp/workload_service/kqp_workload_service.cpp index 3118f62f651d..82fd72bc63da 100644 --- a/ydb/core/kqp/workload_service/kqp_workload_service.cpp +++ b/ydb/core/kqp/workload_service/kqp_workload_service.cpp @@ -74,6 +74,7 @@ class TKqpWorkloadService : public TActorBootstrapped { EnabledResourcePools = AppData()->FeatureFlags.GetEnableResourcePools(); EnabledResourcePoolsOnServerless = AppData()->FeatureFlags.GetEnableResourcePoolsOnServerless(); + EnableResourcePoolsCounters = AppData()->FeatureFlags.GetEnableResourcePoolsCounters(); if (EnabledResourcePools) { InitializeWorkloadService(); } @@ -101,6 +102,7 @@ class TKqpWorkloadService : public TActorBootstrapped { EnabledResourcePools = event.GetConfig().GetFeatureFlags().GetEnableResourcePools(); EnabledResourcePoolsOnServerless = event.GetConfig().GetFeatureFlags().GetEnableResourcePoolsOnServerless(); + EnableResourcePoolsCounters = event.GetConfig().GetFeatureFlags().GetEnableResourcePoolsCounters(); if (EnabledResourcePools) { LOG_I("Resource pools was enanbled"); InitializeWorkloadService(); @@ -526,7 +528,7 @@ class TKqpWorkloadService : public TActorBootstrapped { LOG_I("Creating new handler for pool " << poolKey); - const auto poolHandler = Register(CreatePoolHandlerActor(database, poolId, poolConfig, Counters.Counters)); + const auto poolHandler = Register(CreatePoolHandlerActor(database, poolId, poolConfig, EnableResourcePoolsCounters ? Counters.Counters : MakeIntrusive())); const auto poolState = &PoolIdToState.insert({poolKey, TPoolState{.PoolHandler = poolHandler, .ActorContext = ActorContext()}}).first->second; Counters.ActivePools->Inc(); @@ -560,6 +562,7 @@ class TKqpWorkloadService : public TActorBootstrapped { bool EnabledResourcePools = false; bool EnabledResourcePoolsOnServerless = false; + bool EnableResourcePoolsCounters = false; bool ServiceInitialized = false; bool IdleChecksStarted = false; ETablesCreationStatus TablesCreationStatus = ETablesCreationStatus::Cleanup; diff --git a/ydb/core/kqp/workload_service/ut/common/kqp_workload_service_ut_common.cpp b/ydb/core/kqp/workload_service/ut/common/kqp_workload_service_ut_common.cpp index 44c2606d22ce..d97bb5794427 100644 --- a/ydb/core/kqp/workload_service/ut/common/kqp_workload_service_ut_common.cpp +++ b/ydb/core/kqp/workload_service/ut/common/kqp_workload_service_ut_common.cpp @@ -230,6 +230,7 @@ class TWorkloadServiceYdbSetup : public IYdbSetup { TAppConfig GetAppConfig() const { TAppConfig appConfig; appConfig.MutableFeatureFlags()->SetEnableResourcePools(Settings_.EnableResourcePools_); + appConfig.MutableFeatureFlags()->SetEnableResourcePoolsCounters(true); return appConfig; } diff --git a/ydb/core/protos/feature_flags.proto b/ydb/core/protos/feature_flags.proto index 2175cc3b8823..23b50af10a46 100644 --- a/ydb/core/protos/feature_flags.proto +++ b/ydb/core/protos/feature_flags.proto @@ -151,4 +151,5 @@ message TFeatureFlags { optional bool EnableResourcePoolsOnServerless = 132 [default = false]; optional bool EnableVectorIndex = 133 [default = false]; optional bool EnableChangefeedsOnIndexTables = 134 [default = false]; + optional bool EnableResourcePoolsCounters = 135 [default = false]; }