gortiz opened a new pull request, #15919:
URL: https://github.com/apache/pinot/pull/15919

   Several improvements on the error management in MSE.
   
   1. Include all exception chain messages on errors that don't extend 
QueryException
   2. Include the server and stage that fail in the error message
   3. Include the error code description in Pinot UI.
   
   Use this image as an example of the changes:
   
![image](https://github.com/user-attachments/assets/57856053-8d5f-4ace-9f8b-b0551fc22bdf)
   
   Here the query fails because the cast is illegal. As a difference, we can 
see that the UI now prints the `(QueryExecutionError)` close to `Error Code: 
200`. Also, the error message now starts with:
   
   > Received 1 error from stage 2 on server Server_192.168.1.42_7052
   
   Where `Server_192.168.1.42_7052` is the name of the server in quickstart, 
but should be something like `pinot-pinot-server-2` in a deployment with k8s.
   
   The line changes are significant because, in order to send the stage and 
server id without modifying all possible error messages, I had to introduce the 
service id in QueryThreadContext and also include these fields in the error 
blocks. In order to serialize this new information without breaking binary 
serialization compatibility, I'm using the error map in DataBlock. 
Specifically, I'm using negative error codes, which weren't used before. I've 
also added javadocs to make this restriction explicit.
   
   


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