diff --git a/pinot-broker/src/main/java/org/apache/pinot/broker/requesthandler/BaseBrokerRequestHandler.java b/pinot-broker/src/main/java/org/apache/pinot/broker/requesthandler/BaseBrokerRequestHandler.java index bd3b6f5cb3a..eed9ae56d4d 100644 --- a/pinot-broker/src/main/java/org/apache/pinot/broker/requesthandler/BaseBrokerRequestHandler.java +++ b/pinot-broker/src/main/java/org/apache/pinot/broker/requesthandler/BaseBrokerRequestHandler.java @@ -699,6 +699,7 @@ protected BrokerResponse handleRequest(long requestId, String query, @Nullable S setMaxServerResponseSizeBytes(numServers, queryOptions, offlineTableConfig); // Set the query option to directly return final result for single server query unless it is explicitly disabled if (numServers == 1) { + // Set the same flag in the original server request to be used in the reduce phase for hybrid table if (queryOptions.putIfAbsent(QueryOptionKey.SERVER_RETURN_FINAL_RESULT, "true") == null && offlineBrokerRequest != serverBrokerRequest) { serverBrokerRequest.getPinotQuery().getQueryOptions() @@ -711,8 +712,9 @@ protected BrokerResponse handleRequest(long requestId, String query, @Nullable S setMaxServerResponseSizeBytes(numServers, queryOptions, realtimeTableConfig); // Set the query option to directly return final result for single server query unless it is explicitly disabled if (numServers == 1) { + // Set the same flag in the original server request to be used in the reduce phase for hybrid table if (queryOptions.putIfAbsent(QueryOptionKey.SERVER_RETURN_FINAL_RESULT, "true") == null - && offlineBrokerRequest != serverBrokerRequest) { + && realtimeBrokerRequest != serverBrokerRequest) { serverBrokerRequest.getPinotQuery().getQueryOptions() .put(QueryOptionKey.SERVER_RETURN_FINAL_RESULT, "true"); }