walterddr commented on code in PR #12338:
URL: https://github.com/apache/pinot/pull/12338#discussion_r1480173365


##########
pinot-broker/src/main/java/org/apache/pinot/broker/api/resources/PinotClientRequest.java:
##########
@@ -348,4 +349,25 @@ private static HttpRequesterIdentity 
makeHttpIdentity(org.glassfish.grizzly.http
 
     return identity;
   }
+
+  /**
+   * Generate Response object from the BrokerResponse object with 
'X-Pinot-Error-Code' header value
+   * @param brokerResponse
+   * @return Response
+   * @throws Exception
+   */
+  private static Response getPinotQueryResponse(BrokerResponse brokerResponse)
+      throws Exception {
+    int headerValue = -1; // default value of the header.
+
+    if (brokerResponse.getExceptionsSize() != 0) {
+      // set the header value as first exception error code value.
+      headerValue = 
brokerResponse.getProcessingExceptions().get(0).getErrorCode();
+    }
+
+    // returning the Response with OK status and header value.
+    return Response.ok()
+        .header(PINOT_QUERY_ERROR_CODE_HEADER, headerValue)

Review Comment:
   think future use cases. now it is used to differentiate whether a query has 
failed. (b/c the HTTP return code is 200); if in the future we also want to 
know if the failure is retryable how do we encode that info.
   
   the header now is only used as "key-only" it doesn't actually parse the 
value IIUC <-- @ankitsultana 



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