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

    https://github.com/apache/carbondata/pull/2820#discussion_r226974056
  
    --- Diff: 
core/src/main/java/org/apache/carbondata/core/scan/scanner/impl/BlockletFilterScanner.java
 ---
    @@ -98,7 +98,11 @@ public BlockletFilterScanner(BlockExecutionInfo 
blockExecutionInfo,
       @Override
       public BlockletScannedResult scanBlocklet(RawBlockletColumnChunks 
rawBlockletColumnChunks)
           throws IOException, FilterUnsupportedException {
    -    return executeFilter(rawBlockletColumnChunks);
    +    if (blockExecutionInfo.isDirectVectorFill()) {
    +      return executeFilterForPages(rawBlockletColumnChunks);
    +    } else {
    +      return executeFilter(rawBlockletColumnChunks);
    --- End diff --
    
    As per the design I think we should follow the below hierarchy
    `prune block -> prune blocklet -> prune pages -> prune rows (if row 
filtering is enabled)`
    With current implementation we have 2 branches after `prune blocklet -> 
prune pages and prune rows` in parallel based on directVectorFill 
configuration. The effort to correct the design will be more so I think we can 
raise a jira to track the issue and correct it in near future


---

Reply via email to