You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@carbondata.apache.org by ravipesala <gi...@git.apache.org> on 2018/07/30 03:40:53 UTC

[GitHub] carbondata pull request #2565: WIP: [HotFix][CARBONDATA-2788][BloomDataMap] ...

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?


---