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 2017/03/14 05:58:08 UTC

[2/5] kylin git commit: handle cube signature inconsistency issue with more friendly messsage

handle cube signature inconsistency issue with more friendly messsage


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

Branch: refs/heads/yang23-hbase0.98
Commit: 0e6e5007df2c5c80ace079a8c177e66b60f04c0f
Parents: 627af9f
Author: Hongbin Ma <ma...@apache.org>
Authored: Mon Mar 13 21:22:01 2017 +0800
Committer: Hongbin Ma <ma...@apache.org>
Committed: Mon Mar 13 21:22:01 2017 +0800

----------------------------------------------------------------------
 build/bin/metastore.sh                                       | 5 +++++
 .../main/java/org/apache/kylin/rest/service/CubeService.java | 8 ++++----
 .../main/java/org/apache/kylin/rest/service/JobService.java  | 2 +-
 3 files changed, 10 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/0e6e5007/build/bin/metastore.sh
----------------------------------------------------------------------
diff --git a/build/bin/metastore.sh b/build/bin/metastore.sh
index d045ca6..cbce279 100755
--- a/build/bin/metastore.sh
+++ b/build/bin/metastore.sh
@@ -87,6 +87,11 @@ then
 
     ${KYLIN_HOME}/bin/kylin.sh org.apache.kylin.common.persistence.ResourceTool  reset
     
+elif [ "$1" == "refresh-cube-signature" ]
+then
+
+    ${KYLIN_HOME}/bin/kylin.sh org.apache.kylin.cube.cli.CubeSignatureRefresher
+    
 elif [ "$1" == "clean" ]
 then
 

http://git-wip-us.apache.org/repos/asf/kylin/blob/0e6e5007/server-base/src/main/java/org/apache/kylin/rest/service/CubeService.java
----------------------------------------------------------------------
diff --git a/server-base/src/main/java/org/apache/kylin/rest/service/CubeService.java b/server-base/src/main/java/org/apache/kylin/rest/service/CubeService.java
index a28cedb..9aa7b2a 100644
--- a/server-base/src/main/java/org/apache/kylin/rest/service/CubeService.java
+++ b/server-base/src/main/java/org/apache/kylin/rest/service/CubeService.java
@@ -337,7 +337,7 @@ public class CubeService extends BasicService {
         }
 
         if (cube.getSegments(SegmentStatusEnum.READY).size() == 0) {
-            throw new InternalErrorException("Cube " + cubeName + " dosen't contain any READY segment");
+            throw new InternalErrorException("Cube " + cubeName + " doesn't contain any READY segment");
         }
 
         final List<CubingJob> cubingJobs = jobService.listAllCubingJobs(cube.getName(), null, EnumSet.of(ExecutableState.READY, ExecutableState.RUNNING));
@@ -345,7 +345,7 @@ public class CubeService extends BasicService {
             throw new JobException("Enable is not allowed with a running job.");
         }
         if (!cube.getDescriptor().checkSignature()) {
-            throw new IllegalStateException("Inconsistent cube desc signature for " + cube.getDescriptor());
+            throw new IllegalStateException("Inconsistent cube desc signature for " + cube.getDescriptor() + ", if it's right after a upgrade, please try 'Edit CubeDesc' to delete the 'signature' field. Or use 'bin/metastore.sh refresh-cube-signature' to batch refresh all cubes' signatures");
         }
 
         try {
@@ -444,8 +444,8 @@ public class CubeService extends BasicService {
             }
         }
 
-        if(toDelete == null){
-            throw new IllegalArgumentException("Cannot find segment '" + segmentName +"'");
+        if (toDelete == null) {
+            throw new IllegalArgumentException("Cannot find segment '" + segmentName + "'");
         }
 
         if (toDelete.getStatus() != SegmentStatusEnum.READY) {

http://git-wip-us.apache.org/repos/asf/kylin/blob/0e6e5007/server-base/src/main/java/org/apache/kylin/rest/service/JobService.java
----------------------------------------------------------------------
diff --git a/server-base/src/main/java/org/apache/kylin/rest/service/JobService.java b/server-base/src/main/java/org/apache/kylin/rest/service/JobService.java
index 893d866..9618be1 100644
--- a/server-base/src/main/java/org/apache/kylin/rest/service/JobService.java
+++ b/server-base/src/main/java/org/apache/kylin/rest/service/JobService.java
@@ -318,7 +318,7 @@ public class JobService extends BasicService implements InitializingBean {
 
     private void checkCubeDescSignature(CubeInstance cube) {
         if (!cube.getDescriptor().checkSignature())
-            throw new IllegalStateException("Inconsistent cube desc signature for " + cube.getDescriptor());
+            throw new IllegalStateException("Inconsistent cube desc signature for " + cube.getDescriptor() + ", if it's right after a upgrade, please try 'Edit CubeDesc' to delete the 'signature' field. Or use 'bin/metastore.sh refresh-cube-signature' to batch refresh all cubes' signatures");
     }
 
     public JobInstance getJobInstance(String uuid) throws IOException, JobException {