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();
