Repository: kylin Updated Branches: refs/heads/misc [created] 7a2510d44
KYLIN-2874 fix double-check sync idiom Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/26a426bd Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/26a426bd Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/26a426bd Branch: refs/heads/misc Commit: 26a426bde36adaceaaa3ff5d883bc1f9c5ef526d Parents: 83d0ef3 Author: Li Yang <liy...@apache.org> Authored: Sun Oct 8 16:50:20 2017 +0800 Committer: Li Yang <liy...@apache.org> Committed: Sun Oct 8 16:50:20 2017 +0800 ---------------------------------------------------------------------- core-cube/src/main/java/org/apache/kylin/cube/CubeSegment.java | 2 +- core-cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java | 2 +- .../apache/kylin/query/adhoc/JdbcPushDownConnectionManager.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/kylin/blob/26a426bd/core-cube/src/main/java/org/apache/kylin/cube/CubeSegment.java ---------------------------------------------------------------------- diff --git a/core-cube/src/main/java/org/apache/kylin/cube/CubeSegment.java b/core-cube/src/main/java/org/apache/kylin/cube/CubeSegment.java index 495f9c0..003d006 100644 --- a/core-cube/src/main/java/org/apache/kylin/cube/CubeSegment.java +++ b/core-cube/src/main/java/org/apache/kylin/cube/CubeSegment.java @@ -122,7 +122,7 @@ public class CubeSegment implements IBuildable, ISegment, Serializable { private Map<Long, Short> cuboidBaseShards = Maps.newConcurrentMap(); // cuboid id ==> base(starting) shard for this cuboid // lazy init - transient ISegmentAdvisor advisor = null; + transient volatile ISegmentAdvisor advisor = null; public CubeDesc getCubeDesc() { return getCubeInstance().getDescriptor(); http://git-wip-us.apache.org/repos/asf/kylin/blob/26a426bd/core-cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java ---------------------------------------------------------------------- diff --git a/core-cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java b/core-cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java index 827ac81..7f47526 100644 --- a/core-cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java +++ b/core-cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java @@ -192,7 +192,7 @@ public class CubeDesc extends RootPersistentEntity implements IEngineAware { private Map<TblColRef, DeriveInfo> extendedColumnToHosts = Maps.newHashMap(); - transient private CuboidScheduler cuboidScheduler = null; + transient volatile private CuboidScheduler cuboidScheduler = null; public boolean isEnableSharding() { //in the future may extend to other storage that is shard-able http://git-wip-us.apache.org/repos/asf/kylin/blob/26a426bd/query/src/main/java/org/apache/kylin/query/adhoc/JdbcPushDownConnectionManager.java ---------------------------------------------------------------------- diff --git a/query/src/main/java/org/apache/kylin/query/adhoc/JdbcPushDownConnectionManager.java b/query/src/main/java/org/apache/kylin/query/adhoc/JdbcPushDownConnectionManager.java index f5cdbb6..26f705a 100644 --- a/query/src/main/java/org/apache/kylin/query/adhoc/JdbcPushDownConnectionManager.java +++ b/query/src/main/java/org/apache/kylin/query/adhoc/JdbcPushDownConnectionManager.java @@ -26,7 +26,7 @@ import org.apache.kylin.common.KylinConfig; public class JdbcPushDownConnectionManager { - private static JdbcPushDownConnectionManager manager = null; + private volatile static JdbcPushDownConnectionManager manager = null; static JdbcPushDownConnectionManager getConnectionManager() throws ClassNotFoundException { if (manager == null) {