You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by xx...@apache.org on 2020/12/30 03:42:14 UTC
[kylin] branch kylin-on-parquet-v2 updated: fix KYLIN-4850,
merge Cube's override kylin_properties into building job's
configuration
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 32f8d66 fix KYLIN-4850, merge Cube's override kylin_properties into building job's configuration
32f8d66 is described below
commit 32f8d66cc368a157fb27acf41e8dac8bf73375f1
Author: zhengshengjun <sh...@sina.com>
AuthorDate: Tue Dec 29 10:47:11 2020 +0800
fix KYLIN-4850, merge Cube's override kylin_properties into building job's configuration
---
.../java/org/apache/kylin/common/KylinConfigExt.java | 5 ++++-
.../org/apache/kylin/common/KylinConfigTest.java | 20 ++++++++++++++++++++
2 files changed, 24 insertions(+), 1 deletion(-)
diff --git a/core-common/src/main/java/org/apache/kylin/common/KylinConfigExt.java b/core-common/src/main/java/org/apache/kylin/common/KylinConfigExt.java
index fda4100..78c5053 100644
--- a/core-common/src/main/java/org/apache/kylin/common/KylinConfigExt.java
+++ b/core-common/src/main/java/org/apache/kylin/common/KylinConfigExt.java
@@ -21,6 +21,7 @@ package org.apache.kylin.common;
import org.apache.commons.lang.text.StrSubstitutor;
import org.apache.kylin.shaded.com.google.common.collect.Maps;
+import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
@@ -53,7 +54,9 @@ public class KylinConfigExt extends KylinConfig {
private KylinConfigExt(KylinConfigExt ext, Map<String, String> overrides) {
super(ext.base.getRawAllProperties(), true);
this.base = ext.base;
- this.overrides = BCC.check(overrides);
+ this.overrides = new HashMap<>();
+ this.overrides.putAll(ext.overrides);
+ this.overrides.putAll(BCC.check(overrides));
}
@Override
diff --git a/core-common/src/test/java/org/apache/kylin/common/KylinConfigTest.java b/core-common/src/test/java/org/apache/kylin/common/KylinConfigTest.java
index 38e8499..b4ac16b 100644
--- a/core-common/src/test/java/org/apache/kylin/common/KylinConfigTest.java
+++ b/core-common/src/test/java/org/apache/kylin/common/KylinConfigTest.java
@@ -18,10 +18,12 @@
package org.apache.kylin.common;
+import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
import org.apache.kylin.common.KylinConfig.SetAndUnsetThreadLocalConfig;
+import org.junit.Assert;
import org.junit.Test;
import org.apache.kylin.shaded.com.google.common.collect.Maps;
@@ -198,4 +200,22 @@ public class KylinConfigTest extends HotLoadKylinPropertiesTestCase {
KylinConfig.createInstanceFromUri("dHy3K~m");
}
+ @Test
+ public void testKylinConfigExt(){
+ KylinConfig conf = KylinConfig.getInstanceFromEnv();
+ Map<String, String> overrideConf1 = new HashMap<>();
+ overrideConf1.put("foo", "fooValue");
+ overrideConf1.put("bar", "");
+ KylinConfigExt ext1 = KylinConfigExt.createInstance(conf, overrideConf1);
+
+ Map<String, String> overrideConf2 = new HashMap<>();
+ overrideConf2.put("bar", "barValue");
+ KylinConfigExt ext2 = KylinConfigExt.createInstance(ext1, overrideConf2);
+
+ //check previous ext config's override value will not lost
+ Assert.assertEquals(ext2.getOptional("foo"), "fooValue");
+ //check previous exist config will be overwritten by by new one
+ Assert.assertEquals(ext2.getOptional("bar"), "barValue");
+ }
+
}