Repository: kylin
Updated Branches:
  refs/heads/2.0-rc 6adfc5c7c -> 7bfbbe2ff


KYLIN-1182 Update Partition on CubeDesc from DataModelDesc during upgrade


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

Branch: refs/heads/2.0-rc
Commit: 7bfbbe2ff6e45f63b5d78ec7df182c02d9c92cba
Parents: 6adfc5c
Author: lidongsjtu <[email protected]>
Authored: Tue Jan 12 21:10:48 2016 +0800
Committer: lidongsjtu <[email protected]>
Committed: Tue Jan 12 21:10:52 2016 +0800

----------------------------------------------------------------------
 .../cube/upgrade/v2/CubeMetadataUpgradeV2.java    | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/7bfbbe2f/core-cube/src/main/java/org/apache/kylin/cube/upgrade/v2/CubeMetadataUpgradeV2.java
----------------------------------------------------------------------
diff --git 
a/core-cube/src/main/java/org/apache/kylin/cube/upgrade/v2/CubeMetadataUpgradeV2.java
 
b/core-cube/src/main/java/org/apache/kylin/cube/upgrade/v2/CubeMetadataUpgradeV2.java
index 54e1ffb..c285362 100644
--- 
a/core-cube/src/main/java/org/apache/kylin/cube/upgrade/v2/CubeMetadataUpgradeV2.java
+++ 
b/core-cube/src/main/java/org/apache/kylin/cube/upgrade/v2/CubeMetadataUpgradeV2.java
@@ -40,6 +40,7 @@ import org.apache.kylin.metadata.model.DimensionDesc;
 import org.apache.kylin.metadata.model.IEngineAware;
 import org.apache.kylin.metadata.model.IStorageAware;
 import org.apache.kylin.metadata.model.MeasureDesc;
+import org.apache.kylin.metadata.model.PartitionDesc;
 import org.apache.kylin.metadata.model.TblColRef;
 import org.apache.kylin.metadata.project.ProjectManager;
 
@@ -109,6 +110,7 @@ public class CubeMetadataUpgradeV2 {
         List<CubeDesc> cubeDescs = cubeDescManager.listAllDesc();
         for (CubeDesc cubeDesc : cubeDescs) {
             if (ArrayUtils.isEmpty(models) || ArrayUtils.contains(models, 
cubeDesc.getModelName())) {
+                upgradeCubeDesc(cubeDesc);
                 upgradeDataModelDesc(cubeDesc);
                 upgradeCubeDescSignature(cubeDesc);
             }
@@ -159,6 +161,22 @@ public class CubeMetadataUpgradeV2 {
         }
     }
 
+    private void upgradeCubeDesc(CubeDesc cubeDesc) {
+        try {
+            DataModelDesc modelDesc = cubeDesc.getModel();
+            PartitionDesc modelPartDesc = modelDesc.getPartitionDesc();
+            if (cubeDesc.getPartitionDateStart() == 0 && 
modelPartDesc.getPartitionDateStart() != 0) {
+                
cubeDesc.setPartitionDateStart(modelPartDesc.getPartitionDateStart());
+
+                store.putResource(cubeDesc.getResourcePath(), cubeDesc, 
CubeDescManager.CUBE_DESC_SERIALIZER);
+                updatedResources.add(modelDesc.getResourcePath());
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            errorMsgs.add("Update CubeDesc[" + cubeDesc.getName() + "] failed: 
" + e.getLocalizedMessage());
+        }
+    }
+
     private void upgradeDataModelDesc(CubeDesc cubeDesc) {
         boolean upgrade = false;
         DataModelDesc modelDesc = cubeDesc.getModel();

Reply via email to