gortiz commented on code in PR #10953:
URL: https://github.com/apache/pinot/pull/10953#discussion_r1238088446


##########
pinot-core/src/main/java/org/apache/pinot/core/operator/filter/PrioritizedFilterOperator.java:
##########
@@ -0,0 +1,51 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.pinot.core.operator.filter;
+
+import java.util.OptionalInt;
+import org.apache.pinot.core.common.Block;
+import org.apache.pinot.core.common.Operator;
+
+
+/**
+ * Operators that implements this interface can define how to be sorted in an 
AND, as defined in
+ * {@link FilterOperatorUtils.Implementation#}.
+ */
+public interface PrioritizedFilterOperator<T extends Block> extends 
Operator<T> {

Review Comment:
   I thought about that. My main concern is the separation of concerns. I can 
imagine that more than one FilterOperatorUtil could be used (in fact that is 
why we made it extensible). In that case, different implementations may use 
different priorities. That is why it makes sense to set the priority in 
FilterOperatorUtil instead of set that in the operators. But given that the 
FilterOperatorUtil cannot know all possible BaseFilterOperators (because they 
are extensible now), what we do here is to give the FilterOperatorUtil a way to 
hint about its own cost/priority.
   
   But I was thinking about it and given that you also did, maybe it makes 
sense to implement it that way. The original code was written by @Jackie-Jiang. 
It would be interesting to hear what he thinks about that.
   
   Anyway, can we merge this PR and then decide whether to extend the 
implementation to other BaseFilterOperator? That would fix a problem we 
detected in one of our environments.



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