From 11720015641650d664c70c7b9206571ec9d95acb Mon Sep 17 00:00:00 2001 From: John Zhao Date: Thu, 3 Mar 2016 15:17:01 -0800 Subject: [PATCH] KYLIN-1468 Remove DataModeDesc from projects if saveDataModelDesc throw exception --- .../src/main/java/org/apache/kylin/metadata/MetadataManager.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/MetadataManager.java b/core-metadata/src/main/java/org/apache/kylin/metadata/MetadataManager.java index 9f2a934..4d3557a 100644 --- a/core-metadata/src/main/java/org/apache/kylin/metadata/MetadataManager.java +++ b/core-metadata/src/main/java/org/apache/kylin/metadata/MetadataManager.java @@ -421,7 +421,12 @@ public class MetadataManager { if (dataModelDescMap.containsKey(name)) throw new IllegalArgumentException("DataModelDesc '" + name + "' already exists"); ProjectManager.getInstance(config).updateModelToProject(name, projectName); - return saveDataModelDesc(desc); + try { + return saveDataModelDesc(desc); + } catch (IOException e) { + ProjectManager.getInstance(config).removeModelFromProjects(name); + throw e; + } } public DataModelDesc updateDataModelDesc(DataModelDesc desc) throws IOException { -- 2.5.4 (Apple Git-61)