From cd80d08e50611b8b909fca8fb9734e738a08c252 Mon Sep 17 00:00:00 2001 From: John Zhao Date: Mon, 14 Mar 2016 16:36:12 -0700 Subject: [PATCH] KYLIN-1493 make ExecutableManager.getInstance thread safe --- .../java/org/apache/kylin/job/manager/ExecutableManager.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/core-job/src/main/java/org/apache/kylin/job/manager/ExecutableManager.java b/core-job/src/main/java/org/apache/kylin/job/manager/ExecutableManager.java index 3effbe7..45e0521 100644 --- a/core-job/src/main/java/org/apache/kylin/job/manager/ExecutableManager.java +++ b/core-job/src/main/java/org/apache/kylin/job/manager/ExecutableManager.java @@ -58,12 +58,13 @@ public class ExecutableManager { public static ExecutableManager getInstance(KylinConfig config) { ExecutableManager r = CACHE.get(config); if (r == null) { - r = new ExecutableManager(config); - CACHE.put(config, r); - if (CACHE.size() > 1) { - logger.warn("More than one singleton exist"); + synchronized (ExecutableManager.class) { + r = CACHE.get(config); + if (r == null) { + r = new ExecutableManager(config); + CACHE.put(config, r); + } } - } return r; } -- 2.5.4 (Apple Git-61)