You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by ga...@apache.org on 2016/10/26 13:39:21 UTC

kylin git commit: minor, fix concurrent issue with CubeSegment.cuboidBaseShards

Repository: kylin
Updated Branches:
  refs/heads/master 577052bd2 -> 69213e999


minor, fix concurrent issue with CubeSegment.cuboidBaseShards


Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/69213e99
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/69213e99
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/69213e99

Branch: refs/heads/master
Commit: 69213e9991a1a69b26803852193a78628246b127
Parents: 577052b
Author: gaodayue <ga...@meituan.com>
Authored: Wed Oct 26 21:39:11 2016 +0800
Committer: gaodayue <ga...@meituan.com>
Committed: Wed Oct 26 21:39:11 2016 +0800

----------------------------------------------------------------------
 .../src/main/java/org/apache/kylin/cube/CubeSegment.java      | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/69213e99/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 fdf1fb0..b3d6d6b 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
@@ -49,6 +49,8 @@ import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 
+import javax.annotation.concurrent.GuardedBy;
+
 @JsonAutoDetect(fieldVisibility = Visibility.NONE, getterVisibility = Visibility.NONE, isGetterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE)
 public class CubeSegment implements Comparable<CubeSegment>, IBuildable, ISegment {
 
@@ -115,7 +117,8 @@ public class CubeSegment implements Comparable<CubeSegment>, IBuildable, ISegmen
     @JsonInclude(JsonInclude.Include.NON_EMPTY)
     private Map<String, String> additionalInfo = new LinkedHashMap<String, String>();
 
-    private volatile Map<Long, Short> cuboidBaseShards = Maps.newHashMap();//cuboid id ==> base(starting) shard for this cuboid
+    @GuardedBy("this")
+    private Map<Long, Short> cuboidBaseShards = Maps.newHashMap(); // cuboid id ==> base(starting) shard for this cuboid
 
     public CubeDesc getCubeDesc() {
         return getCubeInstance().getDescriptor();
@@ -516,7 +519,7 @@ public class CubeSegment implements Comparable<CubeSegment>, IBuildable, ISegmen
         this.totalShards = totalShards;
     }
 
-    public short getCuboidBaseShard(Long cuboidId) {
+    public synchronized short getCuboidBaseShard(Long cuboidId) {
         if (totalShards > 0) {
             //shard squashed case