Jackie-Jiang commented on a change in pull request #5705:
URL: https://github.com/apache/incubator-pinot/pull/5705#discussion_r455410039
##########
File path:
pinot-core/src/main/java/org/apache/pinot/core/transport/AsyncQueryResponse.java
##########
@@ -39,6 +39,8 @@
private final CountDownLatch _countDownLatch;
private final long _maxEndTimeMs;
+ private Exception _brokerRequestSendException;
Review comment:
Make it volatile? (Although it is always set and read by the same thread)
##########
File path:
pinot-core/src/main/java/org/apache/pinot/core/transport/AsyncQueryResponse.java
##########
@@ -105,4 +107,12 @@ void markServerDown(ServerRoutingInstance
serverRoutingInstance) {
markQueryFailed();
}
}
+
+ public Exception getBrokerRequestSendException() {
+ return _brokerRequestSendException;
+ }
+
+ public void setBrokerRequestSendException(Exception
brokerRequestSendException) {
Review comment:
(nit) Package private?
##########
File path:
pinot-common/src/main/java/org/apache/pinot/common/exception/QueryException.java
##########
@@ -125,8 +126,17 @@ public static void setMaxLinesOfStackTrace(int
maxLinesOfStackTrace) {
}
public static ProcessingException getException(ProcessingException
processingException, Exception exception) {
+ return getException(processingException,
getTruncatedStackTrace(exception));
+ }
+
+ public static ProcessingException getException(ProcessingException
processingException, String errorMessage) {
String errorType = processingException.getMessage();
ProcessingException copiedProcessingException =
processingException.deepCopy();
+ copiedProcessingException.setMessage(errorType + ":\n" + errorMessage);
+ return copiedProcessingException;
+ }
+
+ public static String getTruncatedStackTrace(Exception exception) {
Review comment:
Not sure if we should expose this method
##########
File path:
pinot-broker/src/main/java/org/apache/pinot/broker/requesthandler/SingleConnectionBrokerRequestHandler.java
##########
@@ -114,6 +118,10 @@ protected BrokerResponse processBrokerRequest(long
requestId, BrokerRequest orig
brokerResponse.setNumServersQueried(numServersQueried);
brokerResponse.setNumServersResponded(numServersResponded);
+ if (asyncQueryResponse.getBrokerRequestSendException() != null) {
+ String errorMsg =
QueryException.getTruncatedStackTrace(asyncQueryResponse.getBrokerRequestSendException());
+ brokerResponse.addToExceptions(new
QueryProcessingException(BROKER_REQUEST_SEND_ERROR_CODE, errorMsg));
+ }
Review comment:
```suggestion
Exception brokerRequestSendException =
asyncQueryResponse.getBrokerRequestSendException();
if (brokerRequestSendException != null) {
brokerResponse.addToExceptions(new
QueryProcessingException(BROKER_REQUEST_SEND_ERROR_CODE,
brokerRequestSendException));
}
```
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]