This is an automated email from the ASF dual-hosted git repository. xxyu pushed a commit to branch kylin-on-parquet-v2 in repository https://gitbox.apache.org/repos/asf/kylin.git
The following commit(s) were added to refs/heads/kylin-on-parquet-v2 by this push: new e719f7b KYLIn-4874 Fix CubeMigrationCLI bug for kylin4 e719f7b is described below commit e719f7b562f87cb0ecaaca34a4c53c2fe91cecc0 Author: yaqian.zhang <598593...@qq.com> AuthorDate: Mon Jan 18 11:42:41 2021 +0800 KYLIn-4874 Fix CubeMigrationCLI bug for kylin4 --- .../main/java/org/apache/kylin/common/KylinConfigBase.java | 6 +++--- .../main/java/org/apache/kylin/tool/CubeMigrationCLI.java | 13 ++++++++++++- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java b/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java index 21f05db..b297806 100644 --- a/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java +++ b/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java @@ -2350,16 +2350,16 @@ public abstract class KylinConfigBase implements Serializable { } public String getKylinMetricsSubjectQueryExecution() { - return getOptional("kylin.metrics.subject-query", "METRICS_QUERY_EXECUTION") + "_" + getKylinMetricsSubjectSuffix(); + return getOptional("kylin.metrics.subject-query-execution", "METRICS_QUERY_EXECUTION") + "_" + getKylinMetricsSubjectSuffix(); } public String getKylinMetricsSubjectQuerySparkJob() { - return getOptional("kylin.metrics.subject-query-cube", "METRICS_QUERY_SPARK_JOB") + "_" + return getOptional("kylin.metrics.subject-query-spark-job", "METRICS_QUERY_SPARK_JOB") + "_" + getKylinMetricsSubjectSuffix(); } public String getKylinMetricsSubjectQuerySparkStage() { - return getOptional("kylin.metrics.subject-query-rpc", "METRICS_QUERY_SPARK_STAGE") + "_" + return getOptional("kylin.metrics.subject-query-spark-stage", "METRICS_QUERY_SPARK_STAGE") + "_" + getKylinMetricsSubjectSuffix(); } diff --git a/tool/src/main/java/org/apache/kylin/tool/CubeMigrationCLI.java b/tool/src/main/java/org/apache/kylin/tool/CubeMigrationCLI.java index 550da0c..8a18f25 100644 --- a/tool/src/main/java/org/apache/kylin/tool/CubeMigrationCLI.java +++ b/tool/src/main/java/org/apache/kylin/tool/CubeMigrationCLI.java @@ -54,6 +54,7 @@ import org.apache.kylin.metadata.model.SegmentStatusEnum; import org.apache.kylin.metadata.model.TableDesc; import org.apache.kylin.metadata.model.TableRef; import org.apache.kylin.metadata.model.TableExtDesc; +import org.apache.kylin.metadata.model.DataModelManager; import org.apache.kylin.metadata.project.ProjectInstance; import org.apache.kylin.metadata.realization.RealizationStatusEnum; import org.apache.kylin.metadata.realization.RealizationType; @@ -403,6 +404,16 @@ public class CubeMigrationCLI extends AbstractApplication { logger.info("Item: {} doesn't exist, ignore it.", item); break; } + // dataModel's project maybe be different with new project. + if (item.startsWith(ResourceStore.DATA_MODEL_DESC_RESOURCE_ROOT)) { + DataModelDesc dataModelDesc = srcStore.getResource(item, DataModelManager.getInstance(srcConfig).getDataModelSerializer()); + if (dataModelDesc != null && dataModelDesc.getProjectName() != null && !dataModelDesc.getProjectName().equals(dstProject)) { + dataModelDesc.setProjectName(dstProject); + dstStore.putResource(item, dataModelDesc, res.lastModified(), DataModelManager.getInstance(srcConfig).getDataModelSerializer()); + logger.info("Item " + item + " is copied."); + break; + } + } dstStore.putResource(renameTableWithinProject(item), res.content(), res.lastModified()); res.content().close(); logger.info("Item " + item + " is copied"); @@ -527,7 +538,7 @@ public class CubeMigrationCLI extends AbstractApplication { } private String renameTableWithinProject(String srcItem) { - if (dstProject != null && srcItem.contains(ResourceStore.TABLE_RESOURCE_ROOT)) { + if (dstProject != null && srcItem.startsWith(ResourceStore.TABLE_RESOURCE_ROOT)) { String tableIdentity = TableDesc.parseResourcePath(srcItem).getTable(); if (srcItem.contains(ResourceStore.TABLE_EXD_RESOURCE_ROOT)) return TableExtDesc.concatResourcePath(tableIdentity, dstProject);