Github user ravipesala commented on a diff in the pull request:

    https://github.com/apache/carbondata/pull/2565#discussion_r206008805
  
    --- Diff: 
hadoop/src/main/java/org/apache/carbondata/hadoop/api/CarbonInputFormat.java ---
    @@ -492,6 +493,26 @@ protected Expression getFilterPredicates(Configuration 
configuration) {
         return prunedBlocklets;
       }
     
    +  private List<ExtendedBlocklet> intersectFilteredBlocklets(CarbonTable 
carbonTable,
    +      List<ExtendedBlocklet> previousDataMapPrunedBlocklets,
    +      List<ExtendedBlocklet> otherDataMapPrunedBlocklets) {
    +    List<ExtendedBlocklet> prunedBlocklets = null;
    +    if (BlockletDataMapUtil
    +        .isCacheLevelBlock(carbonTable, 
BlockletDataMapFactory.CACHE_LEVEL_BLOCKLET)) {
    +      prunedBlocklets = new ArrayList<>(otherDataMapPrunedBlocklets);
    +      // add blocklets from previous dataMap that are not filtered by 
other dataMaps
    +      for (ExtendedBlocklet previousBlocklet : 
previousDataMapPrunedBlocklets) {
    +        if (!otherDataMapPrunedBlocklets.contains(previousBlocklet)) {
    +          prunedBlocklets.add(previousBlocklet);
    --- End diff --
    
    It supposed to be same as with blocklet level. why adding extra non pruned 
blocklets should be added to the list? Any use case for this check?


---

Reply via email to