@@ -137,6 +137,7 @@ class TKqpExecuterBase : public TActorBootstrapped<TDerived> {
137137 , HasOlapTable(false )
138138 , StreamResult(streamResult)
139139 , StatementResultIndex(statementResultIndex)
140+ , EnableReadsMerge(tableServiceConfig.GetEnableReadsMerge())
140141 {
141142 TasksGraph.GetMeta ().Snapshot = IKqpGateway::TKqpSnapshot (Request.Snapshot .Step , Request.Snapshot .TxId );
142143 TasksGraph.GetMeta ().Arena = MakeIntrusive<NActors::TProtoArenaHolder>();
@@ -1032,7 +1033,11 @@ class TKqpExecuterBase : public TActorBootstrapped<TDerived> {
10321033 return result;
10331034 }
10341035
1035- TMaybe<size_t > BuildScanTasksFromSource (TStageInfo& stageInfo, const bool shardsResolved, const bool limitTasksPerNode) {
1036+ TMaybe<size_t > BuildScanTasksFromSource (TStageInfo& stageInfo, const bool shardsResolved, bool limitTasksPerNode) {
1037+ if (EnableReadsMerge) {
1038+ limitTasksPerNode = true ;
1039+ }
1040+
10361041 THashMap<ui64, std::vector<ui64>> nodeTasks;
10371042 THashMap<ui64, ui64> assignedShardsCount;
10381043
@@ -2020,6 +2025,7 @@ class TKqpExecuterBase : public TActorBootstrapped<TDerived> {
20202025
20212026 ui32 StatementResultIndex;
20222027 bool AlreadyReplied = false ;
2028+ bool EnableReadsMerge = false ;
20232029
20242030private:
20252031 static constexpr TDuration ResourceUsageUpdateInterval = TDuration::MilliSeconds(100 );
0 commit comments