From 608e203907bb73f00148511f4ab6769634213d13 Mon Sep 17 00:00:00 2001 From: "peng.jianhua" Date: Fri, 5 Jan 2018 14:59:15 +0800 Subject: [PATCH 1/1] KYLIN-3152 Clone cube will fail after clone model cross project --- .../main/java/org/apache/kylin/rest/controller/ModelController.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/server-base/src/main/java/org/apache/kylin/rest/controller/ModelController.java b/server-base/src/main/java/org/apache/kylin/rest/controller/ModelController.java index cc4b7366c..b0fe69fd8 100644 --- a/server-base/src/main/java/org/apache/kylin/rest/controller/ModelController.java +++ b/server-base/src/main/java/org/apache/kylin/rest/controller/ModelController.java @@ -29,6 +29,7 @@ import org.apache.kylin.common.util.JsonUtil; import org.apache.kylin.metadata.model.DataModelDesc; import org.apache.kylin.metadata.model.DataModelManager; import org.apache.kylin.metadata.project.ProjectInstance; +import org.apache.kylin.metadata.project.ProjectManager; import org.apache.kylin.rest.exception.BadRequestException; import org.apache.kylin.rest.exception.ForbiddenException; import org.apache.kylin.rest.exception.InternalErrorException; @@ -207,6 +208,11 @@ public class ModelController extends BasicController { //reload avoid shallow metaManager.reloadDataModel(newModelName); + ProjectManager pm = ProjectManager.getInstance(KylinConfig.getInstanceFromEnv()); + ProjectInstance projectInstance = pm.getProject(project); + if (!projectInstance.getModels().contains(modelDesc.getName())) { + metaManager.reloadDataModel(modelDesc.getName()); + } } catch (IOException e) { throw new InternalErrorException("failed to clone DataModelDesc", e); } -- 2.11.0.windows.1