You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@carbondata.apache.org by ra...@apache.org on 2019/01/16 14:30:50 UTC

[carbondata] branch master updated: [HOTFIX] Exclude filter doesn't work in presto carbon in cluster

This is an automated email from the ASF dual-hosted git repository.

ravipesala pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/carbondata.git


The following commit(s) were added to refs/heads/master by this push:
     new 9608413  [HOTFIX] Exclude filter doesn't work in presto carbon in cluster
9608413 is described below

commit 96084138d59eeb7e0a9908d398b807791a4116b2
Author: ajantha-bhat <aj...@gmail.com>
AuthorDate: Wed Jan 9 18:56:10 2019 +0530

    [HOTFIX] Exclude filter doesn't work in presto carbon in cluster
    
    problem1: Exclude filter fails in cluster for presto carbon with exception.
    
    java.lang.NoClassDefFoundError: org/roaringbitmap/RoaringBitmap
            at org.apache.carbondata.core.scan.filter.FilterUtil.prepareExcludeFilterMembers(FilterUtil.java:826)
            at org.apache.carbondata.core.scan.filter.FilterUtil.getDimColumnFilterInfoAfterApplyingCBO(FilterUtil.java:776)
            at org.apache.carbondata.core.scan.filter.FilterUtil.getFilterListForAllValues(FilterUtil.java:884)
    
    cause: RoaringBitmap jar is not added in the dependency, hence it is not present in the presto snapshot folder.
    solution : include RoaringBitmap in dependency.
    
    problem2: Local dictionary reset was not proper in vector for presto slice reader.
    cause : For each batch local dictionary was resetting. Instead of the actual place reset.
    solution : reset local dictionary when dictionary is set to null.
    
    This closes #3060
---
 integration/presto/pom.xml                                            | 4 ----
 .../java/org/apache/carbondata/presto/readers/SliceStreamReader.java  | 2 +-
 2 files changed, 1 insertion(+), 5 deletions(-)

diff --git a/integration/presto/pom.xml b/integration/presto/pom.xml
index 32b0ca7..d69515d 100644
--- a/integration/presto/pom.xml
+++ b/integration/presto/pom.xml
@@ -169,10 +169,6 @@
           <artifactId>compress-lzf</artifactId>
         </exclusion>
         <exclusion>
-          <groupId>org.roaringbitmap</groupId>
-          <artifactId>RoaringBitmap</artifactId>
-        </exclusion>
-        <exclusion>
           <groupId>com.thoughtworks.paranamer</groupId>
           <artifactId>paranamer</artifactId>
         </exclusion>
diff --git a/integration/presto/src/main/java/org/apache/carbondata/presto/readers/SliceStreamReader.java b/integration/presto/src/main/java/org/apache/carbondata/presto/readers/SliceStreamReader.java
index 3b3c78c..faa4b9a 100644
--- a/integration/presto/src/main/java/org/apache/carbondata/presto/readers/SliceStreamReader.java
+++ b/integration/presto/src/main/java/org/apache/carbondata/presto/readers/SliceStreamReader.java
@@ -83,6 +83,7 @@ public class SliceStreamReader extends CarbonColumnVectorImpl implements PrestoV
     super.setDictionary(dictionary);
     if (dictionary == null) {
       dictionaryBlock = null;
+      this.isLocalDict = false;
       return;
     }
     boolean[] nulls = new boolean[dictionary.getDictionarySize()];
@@ -144,7 +145,6 @@ public class SliceStreamReader extends CarbonColumnVectorImpl implements PrestoV
 
   @Override public void reset() {
     builder = type.createBlockBuilder(null, batchSize);
-    this.isLocalDict = false;
   }
 
   @Override public void putInt(int rowId, int value) {