Skip to content

Commit 8a1e54f

Browse files
authored
YQ-4237 added progress stats period into execute script request (#17314)
1 parent de4cf13 commit 8a1e54f

File tree

5 files changed

+41
-15
lines changed

5 files changed

+41
-15
lines changed

ydb/core/kqp/common/events/events.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ struct TEvKqp {
120120
mutable NKikimrKqp::TEvQueryRequest Record;
121121
TDuration ForgetAfter;
122122
TDuration ResultsTtl;
123+
TDuration ProgressStatsPeriod;
123124
};
124125

125126
struct TEvScriptResponse : public TEventLocal<TEvScriptResponse, TKqpEvents::EvScriptResponse> {

ydb/core/kqp/proxy_service/kqp_proxy_service.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -244,9 +244,10 @@ class TKqpProxyService : public TActorBootstrapped<TKqpProxyService> {
244244
ui32 logConfigKind = (ui32)NKikimrConsole::TConfigItem::LogConfigItem;
245245
ui32 featureFlagsKind = (ui32)NKikimrConsole::TConfigItem::FeatureFlagsItem;
246246
ui32 workloadManagerKind = (ui32)NKikimrConsole::TConfigItem::WorkloadManagerConfigItem;
247+
ui32 queryServiceConfigKind = (ui32)NKikimrConsole::TConfigItem::QueryServiceConfigItem;
247248
Send(NConsole::MakeConfigsDispatcherID(SelfId().NodeId()),
248249
new NConsole::TEvConfigsDispatcher::TEvSetConfigSubscriptionRequest(
249-
{tableServiceConfigKind, logConfigKind, featureFlagsKind, workloadManagerKind}),
250+
{tableServiceConfigKind, logConfigKind, featureFlagsKind, workloadManagerKind, queryServiceConfigKind}),
250251
IEventHandle::FlagTrackDelivery);
251252

252253
WhiteBoardService = NNodeWhiteboard::MakeNodeWhiteboardServiceId(SelfId().NodeId());
@@ -524,6 +525,10 @@ class TKqpProxyService : public TActorBootstrapped<TKqpProxyService> {
524525
WorkloadManagerConfig.Swap(event.MutableConfig()->MutableWorkloadManagerConfig());
525526
ResourcePoolsCache.UpdateConfig(FeatureFlags, WorkloadManagerConfig, ActorContext());
526527

528+
if (event.GetConfig().HasQueryServiceConfig()) {
529+
QueryServiceConfig.Swap(event.MutableConfig()->MutableQueryServiceConfig());
530+
}
531+
527532
auto responseEv = MakeHolder<NConsole::TEvConsole::TEvConfigNotificationResponse>(event);
528533
Send(ev->Sender, responseEv.Release(), IEventHandle::FlagTrackDelivery, ev->Cookie);
529534
PublishResourceUsage();

ydb/core/kqp/proxy_service/kqp_script_executions.cpp

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -340,8 +340,19 @@ struct TCreateScriptExecutionActor : public TActorBootstrapped<TCreateScriptExec
340340
resultsTtl = Min(operationTtl, resultsTtl);
341341
}
342342

343+
const auto& eventProto = Event->Get()->Record;
344+
const TKqpRunScriptActorSettings settings = {
345+
.Database = eventProto.GetRequest().GetDatabase(),
346+
.ExecutionId = ExecutionId,
347+
.LeaseGeneration = 1,
348+
.LeaseDuration = LeaseDuration,
349+
.ResultsTtl = resultsTtl,
350+
.ProgressStatsPeriod = Event->Get()->ProgressStatsPeriod,
351+
.Counters = Counters,
352+
};
353+
343354
// Start request
344-
RunScriptActorId = Register(CreateRunScriptActor(ExecutionId, Event->Get()->Record, Event->Get()->Record.GetRequest().GetDatabase(), 1, LeaseDuration, resultsTtl, QueryServiceConfig, Counters));
355+
RunScriptActorId = Register(CreateRunScriptActor(eventProto, settings, QueryServiceConfig));
345356
Register(new TCreateScriptOperationQuery(ExecutionId, RunScriptActorId, Event->Get()->Record, operationTtl, resultsTtl, LeaseDuration, MaxRunTime));
346357
}
347358

ydb/core/kqp/run_script_actor/kqp_run_script_actor.cpp

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -87,15 +87,16 @@ class TRunScriptActor : public NActors::TActorBootstrapped<TRunScriptActor> {
8787
};
8888

8989
public:
90-
TRunScriptActor(const TString& executionId, const NKikimrKqp::TEvQueryRequest& request, const TString& database, ui64 leaseGeneration, TDuration leaseDuration, TDuration resultsTtl, NKikimrConfig::TQueryServiceConfig&& queryServiceConfig, TIntrusivePtr<TKqpCounters> counters)
91-
: ExecutionId(executionId)
90+
TRunScriptActor(const NKikimrKqp::TEvQueryRequest& request, const TKqpRunScriptActorSettings& settings, NKikimrConfig::TQueryServiceConfig&& queryServiceConfig)
91+
: ExecutionId(settings.ExecutionId)
9292
, Request(request)
93-
, Database(database)
94-
, LeaseGeneration(leaseGeneration)
95-
, LeaseDuration(leaseDuration)
96-
, ResultsTtl(resultsTtl)
97-
, QueryServiceConfig(queryServiceConfig)
98-
, Counters(counters)
93+
, Database(settings.Database)
94+
, LeaseGeneration(settings.LeaseGeneration)
95+
, LeaseDuration(settings.LeaseDuration)
96+
, ResultsTtl(settings.ResultsTtl)
97+
, ProgressStatsPeriod(settings.ProgressStatsPeriod)
98+
, QueryServiceConfig(std::move(queryServiceConfig))
99+
, Counters(settings.Counters)
99100
{
100101
UserRequestContext = MakeIntrusive<TUserRequestContext>(Request.GetTraceId(), Database, "", ExecutionId, Request.GetTraceId());
101102
}
@@ -174,7 +175,7 @@ class TRunScriptActor : public NActors::TActorBootstrapped<TRunScriptActor> {
174175
ev->Record.MutableRequest()->SetSessionId(SessionId);
175176
ev->SetUserRequestContext(UserRequestContext);
176177
if (ev->Record.GetRequest().GetCollectStats() >= Ydb::Table::QueryStatsCollection::STATS_COLLECTION_FULL) {
177-
ev->SetProgressStatsPeriod(TDuration::MilliSeconds(QueryServiceConfig.GetProgressStatsPeriodMs()));
178+
ev->SetProgressStatsPeriod(ProgressStatsPeriod ? ProgressStatsPeriod : TDuration::MilliSeconds(QueryServiceConfig.GetProgressStatsPeriodMs()));
178179
}
179180

180181
NActors::ActorIdToProto(SelfId(), ev->Record.MutableRequestActorId());
@@ -680,6 +681,7 @@ class TRunScriptActor : public NActors::TActorBootstrapped<TRunScriptActor> {
680681
const ui64 LeaseGeneration;
681682
const TDuration LeaseDuration;
682683
const TDuration ResultsTtl;
684+
const TDuration ProgressStatsPeriod;
683685
const NKikimrConfig::TQueryServiceConfig QueryServiceConfig;
684686
TIntrusivePtr<TKqpCounters> Counters;
685687
TString SessionId;
@@ -713,8 +715,8 @@ class TRunScriptActor : public NActors::TActorBootstrapped<TRunScriptActor> {
713715

714716
} // namespace
715717

716-
NActors::IActor* CreateRunScriptActor(const TString& executionId, const NKikimrKqp::TEvQueryRequest& request, const TString& database, ui64 leaseGeneration, TDuration leaseDuration, TDuration resultsTtl, NKikimrConfig::TQueryServiceConfig queryServiceConfig, TIntrusivePtr<TKqpCounters> counters) {
717-
return new TRunScriptActor(executionId, request, database, leaseGeneration, leaseDuration, resultsTtl, std::move(queryServiceConfig), counters);
718+
NActors::IActor* CreateRunScriptActor(const NKikimrKqp::TEvQueryRequest& request, const TKqpRunScriptActorSettings& settings, NKikimrConfig::TQueryServiceConfig queryServiceConfig) {
719+
return new TRunScriptActor(request, settings, std::move(queryServiceConfig));
718720
}
719721

720722
} // namespace NKikimr::NKqp

ydb/core/kqp/run_script_actor/kqp_run_script_actor.h

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,16 @@ namespace NKikimrConfig {
1313

1414
namespace NKikimr::NKqp {
1515

16-
struct TEvKqpRunScriptActor {
16+
struct TKqpRunScriptActorSettings {
17+
TString Database;
18+
TString ExecutionId;
19+
ui64 LeaseGeneration = 0;
20+
TDuration LeaseDuration;
21+
TDuration ResultsTtl;
22+
TDuration ProgressStatsPeriod;
23+
TIntrusivePtr<TKqpCounters> Counters;
1724
};
1825

19-
NActors::IActor* CreateRunScriptActor(const TString& executionId, const NKikimrKqp::TEvQueryRequest& request, const TString& database, ui64 leaseGeneration, TDuration leaseDuration, TDuration resultsTtl, NKikimrConfig::TQueryServiceConfig queryServiceConfig, TIntrusivePtr<TKqpCounters> counters);
26+
NActors::IActor* CreateRunScriptActor(const NKikimrKqp::TEvQueryRequest& request, const TKqpRunScriptActorSettings& settings, NKikimrConfig::TQueryServiceConfig queryServiceConfig);
2027

2128
} // namespace NKikimr::NKqp

0 commit comments

Comments
 (0)