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) {

Reply via email to