You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by li...@apache.org on 2016/11/26 01:19:35 UTC

kylin git commit: KYLIN-2217 add ReadableTable.exists()

Repository: kylin
Updated Branches:
  refs/heads/KYLIN-2217-2 643cbe955 -> df94ac293


KYLIN-2217 add ReadableTable.exists()


Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/df94ac29
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/df94ac29
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/df94ac29

Branch: refs/heads/KYLIN-2217-2
Commit: df94ac29305298acd19df83b24600ab6c4164bdd
Parents: 643cbe9
Author: Yang Li <li...@apache.org>
Authored: Sat Nov 26 09:18:23 2016 +0800
Committer: Yang Li <li...@apache.org>
Committed: Sat Nov 26 09:19:00 2016 +0800

----------------------------------------------------------------------
 .../java/org/apache/kylin/dict/DictionaryManager.java     |  2 ++
 .../java/org/apache/kylin/dict/lookup/SnapshotTable.java  |  5 +++++
 .../main/java/org/apache/kylin/source/ReadableTable.java  |  4 +++-
 .../java/org/apache/kylin/engine/mr/DFSFileTable.java     | 10 ++++++++++
 .../org/apache/kylin/engine/mr/SortedColumnDFSFile.java   |  5 +++++
 5 files changed, 25 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/df94ac29/core-dictionary/src/main/java/org/apache/kylin/dict/DictionaryManager.java
----------------------------------------------------------------------
diff --git a/core-dictionary/src/main/java/org/apache/kylin/dict/DictionaryManager.java b/core-dictionary/src/main/java/org/apache/kylin/dict/DictionaryManager.java
index 37e4757..4473a53 100644
--- a/core-dictionary/src/main/java/org/apache/kylin/dict/DictionaryManager.java
+++ b/core-dictionary/src/main/java/org/apache/kylin/dict/DictionaryManager.java
@@ -276,6 +276,8 @@ public class DictionaryManager {
     }
 
     public DictionaryInfo buildDictionary(DataModelDesc model, TblColRef col, ReadableTable inpTable, String builderClass) throws IOException {
+        if (inpTable.exists() == false)
+            return null;
 
         logger.info("building dictionary for " + col);
 

http://git-wip-us.apache.org/repos/asf/kylin/blob/df94ac29/core-dictionary/src/main/java/org/apache/kylin/dict/lookup/SnapshotTable.java
----------------------------------------------------------------------
diff --git a/core-dictionary/src/main/java/org/apache/kylin/dict/lookup/SnapshotTable.java b/core-dictionary/src/main/java/org/apache/kylin/dict/lookup/SnapshotTable.java
index f2edcb4..9d38dba 100644
--- a/core-dictionary/src/main/java/org/apache/kylin/dict/lookup/SnapshotTable.java
+++ b/core-dictionary/src/main/java/org/apache/kylin/dict/lookup/SnapshotTable.java
@@ -164,6 +164,11 @@ public class SnapshotTable extends RootPersistentEntity implements ReadableTable
         return signature;
     }
 
+    @Override
+    public boolean exists() throws IOException {
+        return true;
+    }
+    
     /**
      * a naive implementation
      *

http://git-wip-us.apache.org/repos/asf/kylin/blob/df94ac29/core-metadata/src/main/java/org/apache/kylin/source/ReadableTable.java
----------------------------------------------------------------------
diff --git a/core-metadata/src/main/java/org/apache/kylin/source/ReadableTable.java b/core-metadata/src/main/java/org/apache/kylin/source/ReadableTable.java
index f127821..8ea96de 100644
--- a/core-metadata/src/main/java/org/apache/kylin/source/ReadableTable.java
+++ b/core-metadata/src/main/java/org/apache/kylin/source/ReadableTable.java
@@ -35,9 +35,11 @@ public interface ReadableTable {
     public TableReader getReader() throws IOException;
 
     /**
-     * Used to detect table modifications mainly. Return null in case table does not exist.
+     * Used to detect table modifications.
      */
     public TableSignature getSignature() throws IOException;
+    
+    public boolean exists() throws IOException;
 
 
     public interface TableReader extends Closeable {

http://git-wip-us.apache.org/repos/asf/kylin/blob/df94ac29/engine-mr/src/main/java/org/apache/kylin/engine/mr/DFSFileTable.java
----------------------------------------------------------------------
diff --git a/engine-mr/src/main/java/org/apache/kylin/engine/mr/DFSFileTable.java b/engine-mr/src/main/java/org/apache/kylin/engine/mr/DFSFileTable.java
index 6f337d0..ee932ac 100644
--- a/engine-mr/src/main/java/org/apache/kylin/engine/mr/DFSFileTable.java
+++ b/engine-mr/src/main/java/org/apache/kylin/engine/mr/DFSFileTable.java
@@ -69,6 +69,16 @@ public class DFSFileTable implements ReadableTable {
         }
         return new TableSignature(path, sizeAndLastModified.getFirst(), sizeAndLastModified.getSecond());
     }
+    
+    @Override
+    public boolean exists() throws IOException {
+        try {
+            getSizeAndLastModified(path);
+            return true;
+        } catch (FileNotFoundException ex) {
+            return false;
+        }
+    }
 
     @Override
     public String toString() {

http://git-wip-us.apache.org/repos/asf/kylin/blob/df94ac29/engine-mr/src/main/java/org/apache/kylin/engine/mr/SortedColumnDFSFile.java
----------------------------------------------------------------------
diff --git a/engine-mr/src/main/java/org/apache/kylin/engine/mr/SortedColumnDFSFile.java b/engine-mr/src/main/java/org/apache/kylin/engine/mr/SortedColumnDFSFile.java
index d0ee3ee..62c309a 100644
--- a/engine-mr/src/main/java/org/apache/kylin/engine/mr/SortedColumnDFSFile.java
+++ b/engine-mr/src/main/java/org/apache/kylin/engine/mr/SortedColumnDFSFile.java
@@ -84,6 +84,11 @@ public class SortedColumnDFSFile implements ReadableTable {
     public TableSignature getSignature() throws IOException {
         return dfsFileTable.getSignature();
     }
+    
+    @Override
+    public boolean exists() throws IOException {
+        return dfsFileTable.exists();
+    }
 
     private Comparator<String> getComparatorByType(DataType type) {
         Comparator<String> comparator;