Repository: kylin
Updated Branches:
  refs/heads/2.1.x c962feb75 -> f52190b12


minor, fix get model NPE when getting cube list.



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

Branch: refs/heads/2.1.x
Commit: 6d936d34935b13211cb485a1a35f1d4803288a34
Parents: 91c08e8
Author: Jiatao Tao <245915...@qq.com>
Authored: Wed Aug 2 04:27:07 2017 -0500
Committer: GitHub <nore...@github.com>
Committed: Wed Aug 2 04:27:07 2017 -0500

----------------------------------------------------------------------
 .../rest/controller2/CubeControllerV2.java      | 24 ++++++++++++++++----
 1 file changed, 19 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/6d936d34/server-base/src/main/java/org/apache/kylin/rest/controller2/CubeControllerV2.java
----------------------------------------------------------------------
diff --git 
a/server-base/src/main/java/org/apache/kylin/rest/controller2/CubeControllerV2.java
 
b/server-base/src/main/java/org/apache/kylin/rest/controller2/CubeControllerV2.java
index 9ffc062..cdc09b9 100644
--- 
a/server-base/src/main/java/org/apache/kylin/rest/controller2/CubeControllerV2.java
+++ 
b/server-base/src/main/java/org/apache/kylin/rest/controller2/CubeControllerV2.java
@@ -109,7 +109,11 @@ public class CubeControllerV2 extends BasicController {
 
         // official cubes
         for (CubeInstance cube : cubes) {
-            response.add(createCubeInstanceResponse(cube));
+            try {
+                response.add(createCubeInstanceResponse(cube));
+            } catch (Exception e) {
+                logger.error("Error creating cube instance response, 
skipping.", e);
+            }
         }
         
         // draft cubes
@@ -174,9 +178,14 @@ public class CubeControllerV2 extends BasicController {
 
         r.setModel(cube.getDescriptor().getModelName());
         r.setPartitionDateStart(cube.getDescriptor().getPartitionDateStart());
-        
r.setPartitionDateColumn(cube.getModel().getPartitionDesc().getPartitionDateColumn());
-        r.setIs_streaming(
-                
cube.getModel().getRootFactTable().getTableDesc().getSourceType() == 
ISourceAware.ID_STREAMING);
+        // cuz model doesn't have a state the label a model is broken,
+        // so in some case the model can not be loaded due to some check 
failed,
+        // but the cube in this model can still be loaded.
+        if (cube.getModel() != null) {
+            
r.setPartitionDateColumn(cube.getModel().getPartitionDesc().getPartitionDateColumn());
+            r.setIs_streaming(
+                    
cube.getModel().getRootFactTable().getTableDesc().getSourceType() == 
ISourceAware.ID_STREAMING);
+        }
         r.setProject(projectService.getProjectOfCube(cube.getName()));
         
         return r;
@@ -202,7 +211,12 @@ public class CubeControllerV2 extends BasicController {
             throw new 
BadRequestException(String.format(msg.getCUBE_NOT_FOUND(), cubeName));
         }
 
-        CubeInstanceResponse r = createCubeInstanceResponse(cube);
+        CubeInstanceResponse r;
+        try {
+            r = createCubeInstanceResponse(cube);
+        } catch (Exception e) {
+            throw new BadRequestException("Error getting cube instance 
response.", ResponseCode.CODE_UNDEFINED, e);
+        }
         return new EnvelopeResponse(ResponseCode.CODE_SUCCESS, r, "");
     }
 

Reply via email to