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