siddharthteotia commented on a change in pull request #6776:
URL: https://github.com/apache/incubator-pinot/pull/6776#discussion_r611813654
##########
File path:
pinot-core/src/main/java/org/apache/pinot/core/query/pruner/ColumnValueSegmentPruner.java
##########
@@ -59,8 +61,13 @@
@SuppressWarnings({"rawtypes", "unchecked"})
public class ColumnValueSegmentPruner implements SegmentPruner {
+ private int _inPredicateThreshold;
+ public static final int DEFAULT_VALUE_FOR_IN_PREDICATE = 10;
+ public static final String CONFIG_MAX_VALUE_FOR_IN_PREDICATE =
"pinot.segment.pruner.columnvalue.in.threshold";
+
Review comment:
I think this can be moved to CommonConstants in inner Server class.
We should use `pinot.server.query.executor.pruner` prefix since that is what
is used by QueryExecutorConfig when it creates SegmentPrunerConfig. Please
check the QueryExecutorConfig constructor.
Secondly, since this config is applicable to min-max column value pruner on
the server, we should use the convention
`pinot.server.query.executor.pruner.columnvaluesegmentpruner.<your new in
predicate config>`
This is because we create the config for each type of pruner as seen in the
following code in SegmentPrunerConfig
```
for (String segmentPrunerName : segmentPrunerNames) {
_segmentPrunerNames.add(segmentPrunerName);
_segmentPrunerConfigs.add(segmentPrunerConfig.subset(segmentPrunerName));
}
```
When init() is called on ColumnValueSegmentPruner, it is initialized with
all configs under pinot.server.query.executor.pruner.columnvaluesegmentpruner.
--
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:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]