You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by li...@apache.org on 2017/06/29 05:48:47 UTC

[40/50] kylin git commit: minor, fix thread local KylinConfig bug

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 <ma...@apache.org>
Authored: Sun Jun 25 17:03:16 2017 +0800
Committer: Dong Li <li...@apache.org>
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();