@@ -46,7 +46,7 @@ struct MonitoringData {
46
46
ui64 Errors = 0 ;
47
47
};
48
48
49
- void SendQueryRequest (const TActorContext& ctx, NYdbWorkload::TQueryInfo& q, const TString& session, const TString& workingDir) {
49
+ void SendQueryRequest (const TActorContext& ctx, NYdbWorkload::TQueryInfo& q, const NKikimrKqp::EQueryType queryType, const TString& session, const TString& workingDir) {
50
50
TString query_text = TString (q.Query );
51
51
auto request = MakeHolder<NKqp::TEvKqp::TEvQueryRequest>();
52
52
@@ -55,7 +55,7 @@ void SendQueryRequest(const TActorContext& ctx, NYdbWorkload::TQueryInfo& q, con
55
55
request->Record .MutableRequest ()->SetDatabase (workingDir);
56
56
57
57
request->Record .MutableRequest ()->SetAction (NKikimrKqp::QUERY_ACTION_EXECUTE);
58
- request->Record .MutableRequest ()->SetType (NKikimrKqp::QUERY_TYPE_SQL_DML );
58
+ request->Record .MutableRequest ()->SetType (queryType );
59
59
request->Record .MutableRequest ()->SetQuery (query_text);
60
60
61
61
request->Record .MutableRequest ()->MutableQueryCachePolicy ()->set_keep_in_cache (true );
@@ -89,6 +89,7 @@ class TKqpLoadWorker : public TActorBootstrapped<TKqpLoadWorker> {
89
89
TString working_dir,
90
90
std::shared_ptr<NYdbWorkload::IWorkloadQueryGenerator> workload_query_gen,
91
91
ui64 workload_type,
92
+ NKikimrKqp::EQueryType queryType,
92
93
ui64 parentTag,
93
94
ui64 workerTag,
94
95
TInstant endTimestamp,
@@ -101,6 +102,7 @@ class TKqpLoadWorker : public TActorBootstrapped<TKqpLoadWorker> {
101
102
, ParentTag(parentTag)
102
103
, WorkerTag(workerTag)
103
104
, EndTimestamp(endTimestamp)
105
+ , QueryType(queryType)
104
106
, LatencyHist(60000 , 2 )
105
107
, Transactions(transactions)
106
108
, TransactionsBytesWritten(transactionsBytesWritten)
@@ -180,7 +182,7 @@ class TKqpLoadWorker : public TActorBootstrapped<TKqpLoadWorker> {
180
182
181
183
LOG_DEBUG_S (ctx, NKikimrServices::KQP_LOAD_TEST, " Worker Tag# " << ParentTag << " ." << WorkerTag << " using session: " << WorkerSession);
182
184
183
- SendQueryRequest (ctx, q, WorkerSession, WorkingDir);
185
+ SendQueryRequest (ctx, q, QueryType, WorkerSession, WorkingDir);
184
186
}
185
187
186
188
void Handle (NKqp::TEvKqp::TEvQueryResponse::TPtr& ev, const TActorContext& ctx) {
@@ -214,6 +216,7 @@ class TKqpLoadWorker : public TActorBootstrapped<TKqpLoadWorker> {
214
216
TInstant EndTimestamp;
215
217
NYdbWorkload::TQueryInfoList Queries;
216
218
TString WorkerSession = " wrong sessionId" ;
219
+ NKikimrKqp::EQueryType QueryType;
217
220
218
221
// monitoring
219
222
NHdr::THistogram LatencyHist;
@@ -242,6 +245,10 @@ class TKqpLoadActor : public TActorBootstrapped<TKqpLoadActor> {
242
245
DeleteTableOnFinish = cmd.GetDeleteTableOnFinish ();
243
246
WorkingDir = cmd.GetWorkingDir ();
244
247
WorkloadType = cmd.GetWorkloadType ();
248
+ Y_ABORT_UNLESS (cmd.GetQueryType () == " generic" || cmd.GetQueryType () == " data" );
249
+ QueryType = cmd.GetQueryType () == " generic"
250
+ ? NKikimrKqp::QUERY_TYPE_SQL_GENERIC_QUERY
251
+ : NKikimrKqp::QUERY_TYPE_SQL_DML;
245
252
DurationSeconds = cmd.GetDurationSeconds ();
246
253
NumOfSessions = cmd.GetNumOfSessions ();
247
254
IncreaseSessions = cmd.GetIncreaseSessions ();
@@ -530,7 +537,7 @@ class TKqpLoadActor : public TActorBootstrapped<TKqpLoadActor> {
530
537
LOG_DEBUG_S (ctx, NKikimrServices::KQP_LOAD_TEST, " Tag# " << Tag
531
538
<< " Creating request for init query, need to exec: " << InitData.size () + 1 << " session: " << TableSession);
532
539
533
- SendQueryRequest (ctx, q, TableSession, WorkingDir);
540
+ SendQueryRequest (ctx, q, QueryType, TableSession, WorkingDir);
534
541
}
535
542
536
543
void HandleDataQueryResponse (NKqp::TEvKqp::TEvQueryResponse::TPtr& ev, const TActorContext& ctx) {
@@ -627,6 +634,7 @@ class TKqpLoadActor : public TActorBootstrapped<TKqpLoadActor> {
627
634
WorkingDir,
628
635
WorkloadQueryGen,
629
636
WorkloadType,
637
+ QueryType,
630
638
Tag,
631
639
Workers.size (),
632
640
TestStartTime + TDuration::Seconds (DurationSeconds),
@@ -659,6 +667,7 @@ class TKqpLoadActor : public TActorBootstrapped<TKqpLoadActor> {
659
667
bool IncreaseSessions = false ;
660
668
size_t ResultsReceived = 0 ;
661
669
NYdbWorkload::EWorkload WorkloadClass;
670
+ NKikimrKqp::EQueryType QueryType;
662
671
663
672
NYdbWorkload::TQueryInfoList InitData;
664
673
0 commit comments