github-actions[bot] commented on code in PR #68281:
URL: https://github.com/apache/doris/pull/68281#discussion_r4084142936


##########
fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java:
##########
@@ -4363,7 +4413,8 @@ public int getParallelExecInstanceNum(String clusterName) 
{
             int userParallelExecInstanceNum = connectContext.getEnv().getAuth()
                     
.getParallelFragmentExecInstanceNum(connectContext.getQualifiedUser());
             if (userParallelExecInstanceNum > 0) {
-                return userParallelExecInstanceNum;
+                // User properties restored from older images or journals may 
exceed the write-time limit.
+                return Math.min(userParallelExecInstanceNum, 256);

Review Comment:
   [P1] Cap the automatic resolved parallelism too
   
   This clamps the historical user-property branch, but the automatic branch 
below can still exceed 256 through the unrestricted `max_instance_num`. For 
example, when BEs report `pipeline_executor_size=1024`, a user without a 
positive property override can run `SET max_instance_num=1024` and `SET 
parallel_pipeline_task_num=0`; this method returns 512, which `PlanFragment` 
and `toThrift().parallel_instance` pass to execution and a sufficiently 
parallel plan can turn into more than 256 instances. Apply the ceiling to the 
final resolved value (or bound `max_instance_num` consistently), and cover auto 
resolution plus Thrift serialization with a large executor report.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to