Github user jackylk commented on a diff in the pull request:
https://github.com/apache/carbondata/pull/2386#discussion_r197002129
--- Diff:
datamap/bloom/src/main/java/org/apache/carbondata/datamap/bloom/BloomCoarseGrainDataMap.java
---
@@ -85,7 +86,7 @@ public void setIndexedColumn(Set<String> indexedColumn) {
@Override
public List<Blocklet> prune(FilterResolverIntf filterExp,
SegmentProperties segmentProperties,
List<PartitionSpec> partitions) {
- List<Blocklet> hitBlocklets = new ArrayList<Blocklet>();
+ Set<Blocklet> hitBlocklets = new HashSet<>();
--- End diff --
There is one optimization we can add: If the blocklet is hit, then skip the
following filter condition test for the same blocklet.
Please raise another JIRA to track this optimization.
---