Skip to content

Commit f986457

Browse files
authored
Merge ef82275 into df05bf8
2 parents df05bf8 + ef82275 commit f986457

File tree

7 files changed

+214
-113
lines changed

7 files changed

+214
-113
lines changed

ydb/core/kqp/executer_actor/kqp_planner.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,10 @@ std::unique_ptr<TEvKqpNode::TEvStartKqpTasksRequest> TKqpPlanner::SerializeReque
238238
request.SetDatabase(Database);
239239
if (UserRequestContext->PoolConfig.has_value()) {
240240
request.SetMemoryPoolPercent(UserRequestContext->PoolConfig->QueryMemoryLimitPercentPerNode);
241-
request.SetMaxCpuShare(UserRequestContext->PoolConfig->TotalCpuLimitPercentPerNode / 100.0);
241+
request.SetPoolMaxCpuShare(UserRequestContext->PoolConfig->TotalCpuLimitPercentPerNode / 100.0);
242+
if (UserRequestContext->PoolConfig->QueryCpuLimitPercentPerNode >= 0) {
243+
request.SetQueryCpuShare(UserRequestContext->PoolConfig->QueryCpuLimitPercentPerNode / 100.0);
244+
}
242245
}
243246

244247
return result;

ydb/core/kqp/node_service/kqp_node_service.cpp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,10 @@ class TKqpNodeService : public TActorBootstrapped<TKqpNodeService> {
194194
ev->Get()->Record.GetSerializedGUCSettings() : "";
195195

196196
auto schedulerNow = TlsActivationContext->Monotonic();
197+
std::optional<ui64> querySchedulerGroup;
198+
if (msg.HasQueryCpuShare()) {
199+
querySchedulerGroup = Scheduler->MakeAnonymousGroup(schedulerNow, msg.GetQueryCpuShare());
200+
}
197201

198202
// start compute actors
199203
TMaybe<NYql::NDqProto::TRlPath> rlPath = Nothing();
@@ -221,7 +225,7 @@ class TKqpNodeService : public TActorBootstrapped<TKqpNodeService> {
221225
};
222226

223227
if (SchedulerOptions.Scheduler->Disabled(group)) {
224-
auto share = msg.GetMaxCpuShare();
228+
auto share = msg.GetPoolMaxCpuShare();
225229
if (share > 0) {
226230
Scheduler->UpdateMaxShare(group, share, schedulerNow);
227231
Send(SchedulerActorId, new TEvSchedulerNewPool(msg.GetDatabase(), group, share));
@@ -232,6 +236,9 @@ class TKqpNodeService : public TActorBootstrapped<TKqpNodeService> {
232236

233237
if (!schedulingTaskOptions.NoThrottle) {
234238
schedulingTaskOptions.Handle = SchedulerOptions.Scheduler->Enroll(schedulingTaskOptions.Group, schedulingTaskOptions.Weight, schedulingTaskOptions.Now);
239+
if (querySchedulerGroup) {
240+
Scheduler->AddToGroup(schedulerNow, *querySchedulerGroup, schedulingTaskOptions.Handle);
241+
}
235242
}
236243

237244
auto result = CaFactory_->CreateKqpComputeActor({

0 commit comments

Comments
 (0)