You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by sh...@apache.org on 2016/06/12 04:41:03 UTC
[1/2] kylin git commit: KYLIN-1780 Potential issue in
SnapshotTable.equals()
Repository: kylin
Updated Branches:
refs/heads/master 536f94c0c -> b376e242d
KYLIN-1780 Potential issue in SnapshotTable.equals()
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/0ddd907b
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/0ddd907b
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/0ddd907b
Branch: refs/heads/master
Commit: 0ddd907b127907b08179d329ad7267f4a446092f
Parents: 536f94c
Author: shaofengshi <sh...@apache.org>
Authored: Sun Jun 12 12:32:14 2016 +0800
Committer: shaofengshi <sh...@apache.org>
Committed: Sun Jun 12 12:32:14 2016 +0800
----------------------------------------------------------------------
.../main/java/org/apache/kylin/dict/lookup/SnapshotTable.java | 4 ++++
1 file changed, 4 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/kylin/blob/0ddd907b/core-dictionary/src/main/java/org/apache/kylin/dict/lookup/SnapshotTable.java
----------------------------------------------------------------------
diff --git a/core-dictionary/src/main/java/org/apache/kylin/dict/lookup/SnapshotTable.java b/core-dictionary/src/main/java/org/apache/kylin/dict/lookup/SnapshotTable.java
index f69e29f..b2306b2 100644
--- a/core-dictionary/src/main/java/org/apache/kylin/dict/lookup/SnapshotTable.java
+++ b/core-dictionary/src/main/java/org/apache/kylin/dict/lookup/SnapshotTable.java
@@ -170,6 +170,9 @@ public class SnapshotTable extends RootPersistentEntity implements ReadableTable
return false;
SnapshotTable that = (SnapshotTable) o;
+ if (this.dict.equals(that.dict) == false)
+ return false;
+
//compare row by row
if (this.rowIndices.size() != that.rowIndices.size())
return false;
@@ -177,6 +180,7 @@ public class SnapshotTable extends RootPersistentEntity implements ReadableTable
if (!ArrayUtils.isEquals(this.rowIndices.get(i), that.rowIndices.get(i)))
return false;
}
+
return true;
}
[2/2] kylin git commit: KYLIN-1777 Streaming cube build shouldn't
check working segment
Posted by sh...@apache.org.
KYLIN-1777 Streaming cube build shouldn't check working segment
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/b376e242
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/b376e242
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/b376e242
Branch: refs/heads/master
Commit: b376e242d52757aa04ab2ed7b0b9777311699139
Parents: 0ddd907
Author: shaofengshi <sh...@apache.org>
Authored: Sun Jun 12 12:40:45 2016 +0800
Committer: shaofengshi <sh...@apache.org>
Committed: Sun Jun 12 12:40:45 2016 +0800
----------------------------------------------------------------------
.../java/org/apache/kylin/cube/CubeManager.java | 17 ++++++++++++-----
.../streaming/cube/StreamingCubeBuilder.java | 2 +-
2 files changed, 13 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/kylin/blob/b376e242/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java
----------------------------------------------------------------------
diff --git a/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java b/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java
index 74deac4..8370611 100644
--- a/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java
+++ b/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java
@@ -397,7 +397,13 @@ public class CubeManager implements IRealizationProvider {
}
public CubeSegment appendSegment(CubeInstance cube, long startDate, long endDate, long startOffset, long endOffset) throws IOException {
- checkNoBuildingSegment(cube);
+ return appendSegment(cube, startDate, endDate, startOffset, endOffset, true, true);
+ }
+
+ public CubeSegment appendSegment(CubeInstance cube, long startDate, long endDate, long startOffset, long endOffset, boolean strictChecking, boolean saveChange) throws IOException {
+
+ if(strictChecking)
+ checkNoBuildingSegment(cube);
if (cube.getDescriptor().getModel().getPartitionDesc().isPartitioned()) {
// try figure out a reasonable start if missing
@@ -418,10 +424,11 @@ public class CubeManager implements IRealizationProvider {
CubeSegment newSegment = newSegment(cube, startDate, endDate, startOffset, endOffset);
validateNewSegments(cube, newSegment);
- CubeUpdate cubeBuilder = new CubeUpdate(cube);
- cubeBuilder.setToAddSegs(newSegment);
- updateCube(cubeBuilder);
-
+ if (saveChange) {
+ CubeUpdate cubeBuilder = new CubeUpdate(cube);
+ cubeBuilder.setToAddSegs(newSegment);
+ updateCube(cubeBuilder);
+ }
return newSegment;
}
http://git-wip-us.apache.org/repos/asf/kylin/blob/b376e242/engine-streaming/src/main/java/org/apache/kylin/engine/streaming/cube/StreamingCubeBuilder.java
----------------------------------------------------------------------
diff --git a/engine-streaming/src/main/java/org/apache/kylin/engine/streaming/cube/StreamingCubeBuilder.java b/engine-streaming/src/main/java/org/apache/kylin/engine/streaming/cube/StreamingCubeBuilder.java
index a08f13c..b4790e6 100644
--- a/engine-streaming/src/main/java/org/apache/kylin/engine/streaming/cube/StreamingCubeBuilder.java
+++ b/engine-streaming/src/main/java/org/apache/kylin/engine/streaming/cube/StreamingCubeBuilder.java
@@ -115,7 +115,7 @@ public class StreamingCubeBuilder implements StreamingBatchBuilder {
CubeManager cubeManager = CubeManager.getInstance(KylinConfig.getInstanceFromEnv());
final CubeInstance cubeInstance = cubeManager.reloadCubeLocal(cubeName);
try {
- CubeSegment segment = cubeManager.appendSegment(cubeInstance, streamingBatch.getTimeRange().getFirst(), streamingBatch.getTimeRange().getSecond(), 0, 0);
+ CubeSegment segment = cubeManager.appendSegment(cubeInstance, streamingBatch.getTimeRange().getFirst(), streamingBatch.getTimeRange().getSecond(), 0, 0, false, false);
segment.setLastBuildJobID(segment.getUuid()); // give a fake job id
segment.setInputRecords(streamingBatch.getMessages().size());
segment.setLastBuildTime(System.currentTimeMillis());