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


##########
fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/TableQueryPlanAction.java:
##########
@@ -119,6 +119,10 @@ public Object query_plan(
 
         try {
             String postContent = HttpUtils.getBody(request);
+            if ("true".equals(request.getParameter("forward")) && 
checkForwardToMaster(request)) {
+                // Use POST internally so forwarding a GET request preserves 
the SQL body.
+                return forwardToMaster(request, postContent, "POST");

Review Comment:
   [P2] Relay large opaque plans without the default Jackson string limit
   
   The new hop parses the master's response with `RestTemplate.exchange(..., 
Object.class)`. Its default Jackson 2.21.5 reader caps individual JSON strings 
at 20,000,000 characters. For example, a supported single-table query `select 
k1, '<16,000,000 ASCII characters>' AS pad from db.t` fits the 100 MiB HTTP 
request limit, but its literal is serialized into `TPlanFragment`, making 
`opaqued_query_plan` exceed 21.3 million Base64 characters. Direct/local 
planning can return that plan; forwarding instead catches the response parse 
failure and returns a common error. Relay the response without reparsing the 
opaque payload, or configure parsing limits consistent with valid plan sizes, 
and add a large-plan response case. The default limit is defined in [Jackson 
2.21.5](https://github.com/FasterXML/jackson-core/blob/jackson-core-2.21.5/src/main/java/com/fasterxml/jackson/core/StreamReadConstraints.java#L61).



-- 
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