minor, fix thread local KylinConfig bug
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/0f8c21ba Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/0f8c21ba Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/0f8c21ba Branch: refs/heads/master Commit: 0f8c21ba350afee829a5e847d234705d8b2ef559 Parents: 81ff9a4 Author: Hongbin Ma <[email protected]> Authored: Sun Jun 25 17:03:16 2017 +0800 Committer: Dong Li <[email protected]> Committed: Sun Jun 25 17:17:49 2017 +0800 ---------------------------------------------------------------------- .../src/main/java/org/apache/kylin/common/KylinConfig.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/kylin/blob/0f8c21ba/core-common/src/main/java/org/apache/kylin/common/KylinConfig.java ---------------------------------------------------------------------- diff --git a/core-common/src/main/java/org/apache/kylin/common/KylinConfig.java b/core-common/src/main/java/org/apache/kylin/common/KylinConfig.java index 0f77096..1298807 100644 --- a/core-common/src/main/java/org/apache/kylin/common/KylinConfig.java +++ b/core-common/src/main/java/org/apache/kylin/common/KylinConfig.java @@ -57,7 +57,7 @@ public class KylinConfig extends KylinConfigBase { private static KylinConfig SYS_ENV_INSTANCE = null; // thread-local instances, will override SYS_ENV_INSTANCE - private static final transient ThreadLocal<KylinConfig> THREAD_ENV_INSTANCE = new ThreadLocal<>(); + private static transient ThreadLocal<KylinConfig> THREAD_ENV_INSTANCE = new ThreadLocal<>(); public static KylinConfig getInstanceFromEnv() { synchronized (KylinConfig.class) { @@ -88,7 +88,7 @@ public class KylinConfig extends KylinConfigBase { logger.info("Destroy KylinConfig"); dumpStackTrace(); SYS_ENV_INSTANCE = null; - THREAD_ENV_INSTANCE.remove(); + THREAD_ENV_INSTANCE = new ThreadLocal<>(); } } @@ -197,6 +197,10 @@ public class KylinConfig extends KylinConfigBase { public static void setKylinConfigThreadLocal(KylinConfig config) { THREAD_ENV_INSTANCE.set(config); } + + public static void removeKylinConfigThreadLocal() { + THREAD_ENV_INSTANCE.remove(); + } public static KylinConfig createKylinConfig(String propsInStr) throws IOException { Properties props = new Properties();
