From e334b5650229028544833f9e8b5d974457324188 Mon Sep 17 00:00:00 2001 From: Pisarenko Grigoriy Date: Fri, 5 Sep 2025 13:10:26 +0300 Subject: [PATCH] Fixed CPU limiting in composite conveyor --- .../tx/columnshard/engines/reader/abstract/read_context.cpp | 3 ++- ydb/core/tx/columnshard/engines/reader/abstract/ya.make | 5 +++-- ydb/core/tx/conveyor_composite/usage/config.cpp | 1 + ydb/core/tx/conveyor_composite/usage/config.h | 1 + 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/ydb/core/tx/columnshard/engines/reader/abstract/read_context.cpp b/ydb/core/tx/columnshard/engines/reader/abstract/read_context.cpp index 82e15e58df45..e7709990f620 100644 --- a/ydb/core/tx/columnshard/engines/reader/abstract/read_context.cpp +++ b/ydb/core/tx/columnshard/engines/reader/abstract/read_context.cpp @@ -1,5 +1,6 @@ #include "read_context.h" +#include #include #include @@ -25,7 +26,7 @@ TReadContext::TReadContext(const std::shared_ptr& storagesMana , ResourceSubscribeActorId(resourceSubscribeActorId) , ReadCoordinatorActorId(readCoordinatorActorId) , ComputeShardingPolicy(computeShardingPolicy) - , ConveyorProcessGuard(NConveyorComposite::TScanServiceOperator::StartProcess(ScanId, ::ToString(ScanId), cpuLimits)) + , ConveyorProcessGuard(NConveyorComposite::TScanServiceOperator::StartProcess(ScanId, cpuLimits.GetCPUGroupNameDef(NResourcePool::DEFAULT_POOL_ID), cpuLimits)) { Y_ABORT_UNLESS(ReadMetadata); if (ReadMetadata->HasResultSchema()) { diff --git a/ydb/core/tx/columnshard/engines/reader/abstract/ya.make b/ydb/core/tx/columnshard/engines/reader/abstract/ya.make index f887706b647b..4d5c92fc52a3 100644 --- a/ydb/core/tx/columnshard/engines/reader/abstract/ya.make +++ b/ydb/core/tx/columnshard/engines/reader/abstract/ya.make @@ -8,11 +8,12 @@ SRCS( ) PEERDIR( - ydb/core/tx/columnshard/engines/scheme/versions - ydb/core/tx/program ydb/core/protos + ydb/core/resource_pools + ydb/core/tx/columnshard/engines/scheme/versions ydb/core/tx/columnshard/data_sharing/protos ydb/core/tx/conveyor/usage + ydb/core/tx/program ) GENERATE_ENUM_SERIALIZATION(read_metadata.h) diff --git a/ydb/core/tx/conveyor_composite/usage/config.cpp b/ydb/core/tx/conveyor_composite/usage/config.cpp index a72a3c5e72e3..4ede5d5c48a0 100644 --- a/ydb/core/tx/conveyor_composite/usage/config.cpp +++ b/ydb/core/tx/conveyor_composite/usage/config.cpp @@ -256,6 +256,7 @@ TCPULimitsConfig::TCPULimitsConfig(const double cpuGroupThreadsLimit, const doub TConclusionStatus TCPULimitsConfig::DeserializeFromProto(const NKikimrTxDataShard::TEvKqpScan& config) { if (config.HasCpuGroupThreadsLimit()) { CPUGroupThreadsLimit = config.GetCpuGroupThreadsLimit(); + CPUGroupName = config.GetCpuGroupName(); } return TConclusionStatus::Success(); } diff --git a/ydb/core/tx/conveyor_composite/usage/config.h b/ydb/core/tx/conveyor_composite/usage/config.h index 3940953e9708..25dd00f4a1e7 100644 --- a/ydb/core/tx/conveyor_composite/usage/config.h +++ b/ydb/core/tx/conveyor_composite/usage/config.h @@ -159,6 +159,7 @@ class TConfig { namespace NKikimr::NConveyorComposite { class TCPULimitsConfig { YDB_OPT(double, CPUGroupThreadsLimit); + YDB_OPT(TString, CPUGroupName); YDB_READONLY(double, Weight, 1); public: