Jackie-Jiang opened a new pull request #5483:
URL: https://github.com/apache/incubator-pinot/pull/5483


   Motivation:
   For historic reason, BrokerRequest does not support expressions natively.
   In order to support expressions (transform), the current solution is to
   store the expressions as String and compile them when constructing the
   operators.
   The problem with this approach is that the same compilation is performed
   multiple times on EACH segment. This could cause performance degradation
   when each server is hosting lots of segments.
   In this PR, we introduced a new Object - ServerQuery to represent the
   query request on server side. It is already fully compiled and can be
   shared by all the segments.
   We can also add helper variables into this class to cache the result
   of the common operations for all segments to improve the performance.
   The new ServerQuery can also help isolating the execution layer from
   the transport layer. In the future if we decide to switch to another
   protocol for Broker-Server communication, we don't need to change
   anything for the execution layer. All we need is a new converter to
   convert the transport Object to ServerQuery.
   
   Minor fixes:
   - Support transform expression for IN and BETWEEN predicate


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