xiangfu0 commented on code in PR #15606:
URL: https://github.com/apache/pinot/pull/15606#discussion_r2116321866


##########
pinot-spi/src/main/java/org/apache/pinot/spi/config/table/QueryConfig.java:
##########
@@ -56,13 +56,27 @@ public class QueryConfig extends BaseJsonConfig {
   // Indicates the maximum length of the serialized response per server for a 
query.
   private final Long _maxServerResponseSizeBytes;
 
-  @JsonCreator
+  // Table config override for query cache
+  private final CacheConfig _cacheConfig;
+
   public QueryConfig(@JsonProperty("timeoutMs") @Nullable Long timeoutMs,
       @JsonProperty("disableGroovy") @Nullable Boolean disableGroovy,
       @JsonProperty("useApproximateFunction") @Nullable Boolean 
useApproximateFunction,
       @JsonProperty("expressionOverrideMap") @Nullable Map<String, String> 
expressionOverrideMap,
       @JsonProperty("maxQueryResponseSizeBytes") @Nullable Long 
maxQueryResponseSizeBytes,
       @JsonProperty("maxServerResponseSizeBytes") @Nullable Long 
maxServerResponseSizeBytes) {
+    this(timeoutMs, disableGroovy, useApproximateFunction, 
expressionOverrideMap, maxQueryResponseSizeBytes,
+        maxServerResponseSizeBytes, null);
+  }
+
+  @JsonCreator
+  public QueryConfig(@JsonProperty("timeoutMs") @Nullable Long timeoutMs,

Review Comment:
   remove the annotation for the above method for backward compatibility check.



##########
pinot-common/src/main/java/org/apache/pinot/common/request/context/ExpressionContext.java:
##########
@@ -117,7 +117,7 @@ public boolean equals(Object o) {
 
   @Override
   public int hashCode() {
-    int hash = 31 * 31 * _type.hashCode();
+    int hash = 31 * 31 * _type.toString().hashCode();

Review Comment:
   We might need this hash to be stable to support on-disk based cache if users 
have nvme ssd etc



##########
pinot-core/src/main/java/org/apache/pinot/core/plan/FilterPlanNode.java:
##########
@@ -196,6 +202,15 @@ private boolean canApplyH3IndexForInclusionCheck(Predicate 
predicate, FunctionCo
    * Helper method to build the operator tree from the filter.
    */
   private BaseFilterOperator constructPhysicalOperator(FilterContext filter, 
int numDocs) {
+    if (_queryCache != null) {

Review Comment:
   no, will add this.



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