real-mj-song commented on code in PR #14917:
URL: https://github.com/apache/pinot/pull/14917#discussion_r1931202737


##########
pinot-broker/src/main/java/org/apache/pinot/broker/requesthandler/MultiStageBrokerRequestHandler.java:
##########
@@ -269,11 +271,17 @@ protected BrokerResponse handleRequest(long requestId, 
String query, SqlNodeAndO
         
requestContext.setErrorCode(QueryException.EXECUTION_TIMEOUT_ERROR_CODE);
         return new 
BrokerResponseNative(QueryException.EXECUTION_TIMEOUT_ERROR);
       } catch (Throwable t) {
+        ProcessingException queryException = 
QueryException.QUERY_EXECUTION_ERROR;
+        if (t instanceof BadQueryRequestException) {
+          // provide more specific error code if available
+          queryException = QueryException.QUERY_VALIDATION_ERROR;

Review Comment:
   Diagrams for these two error reporting scenarios. Many middle steps are 
omitted and only relevant steps are shown 👇🏼 
   ```
   PinotClientRequest::processSqlQueryPost
     - BaseSingleStageBrokerRequestHandler::handleRequest
       - SingleConnectionBrokerRequestHandler::processBrokerRequest // broker 
metric is updated here
         - ServerQueryExecutorV1Impl::executeInternal // 
BadQueryRequestException is caught. InstanceResponseBlock is updated here
   PinotClientRequest::getPinotQueryResponse // 700 error code is parsed
   ```
   
   MultiStage query
   ```
   PinotClientRequest::processSqlQueryPost
     - MultiStageBrokerRequestHandler::handleRequest
       - QueryDispatcher::submitAndReduce // exception is thrown if ANY block 
errors. I re-throw BadQueryRequestException here
     - MultiStageBrokerRequestHandler::handleRequest // catch 
BadQueryRequestException. Exceptions in requestContext are added to 
brokerResponse via augmentStatistics
   PinotClientRequest::getPinotQueryResponse // 700 error code is parsed
   ```



-- 
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: commits-unsubscr...@pinot.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org
For additional commands, e-mail: commits-h...@pinot.apache.org

Reply via email to