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

Reply via email to