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