You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by xx...@apache.org on 2021/07/19 09:52:57 UTC
[kylin] branch kylin-on-parquet-v2 updated: KYLIN-5031 Fix
last_build_job_id of segment is null when the semgent status is RUNNING or
ERROR
This is an automated email from the ASF dual-hosted git repository.
xxyu pushed a commit to branch kylin-on-parquet-v2
in repository https://gitbox.apache.org/repos/asf/kylin.git
The following commit(s) were added to refs/heads/kylin-on-parquet-v2 by this push:
new a9ad60a KYLIN-5031 Fix last_build_job_id of segment is null when the semgent status is RUNNING or ERROR
a9ad60a is described below
commit a9ad60ae86b35f52302160bb50b47a2bc6c87bec
Author: lichuang <li...@youzan.com>
AuthorDate: Thu Jul 8 20:57:43 2021 +0800
KYLIN-5031 Fix last_build_job_id of segment is null when the semgent status is RUNNING or ERROR
---
.../src/main/java/org/apache/kylin/rest/service/JobService.java | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/server-base/src/main/java/org/apache/kylin/rest/service/JobService.java b/server-base/src/main/java/org/apache/kylin/rest/service/JobService.java
index ee0a229..d5b926f 100644
--- a/server-base/src/main/java/org/apache/kylin/rest/service/JobService.java
+++ b/server-base/src/main/java/org/apache/kylin/rest/service/JobService.java
@@ -42,6 +42,7 @@ import org.apache.kylin.common.zookeeper.KylinServerDiscovery;
import org.apache.kylin.cube.CubeInstance;
import org.apache.kylin.cube.CubeManager;
import org.apache.kylin.cube.CubeSegment;
+import org.apache.kylin.cube.CubeUpdate;
import org.apache.kylin.cube.model.CubeBuildTypeEnum;
import org.apache.kylin.engine.EngineFactory;
import org.apache.kylin.engine.mr.CubingJob;
@@ -257,9 +258,9 @@ public class JobService extends BasicService implements InitializingBean {
src = new SourcePartition(tsRange, segRange, sourcePartitionOffsetStart, sourcePartitionOffsetEnd);
// src = source.enrichSourcePartitionBeforeBuild(cube, src);
}
-
newSeg = getCubeManager().appendSegment(cube, src);
job = EngineFactory.createBatchCubingJob(newSeg, submitter, priorityOffset);
+
} else if (buildType == CubeBuildTypeEnum.MERGE) {
newSeg = getCubeManager().mergeSegments(cube, tsRange, segRange, force);
job = EngineFactory.createBatchMergeJob(newSeg, submitter);
@@ -269,6 +270,11 @@ public class JobService extends BasicService implements InitializingBean {
} else {
throw new BadRequestException(String.format(Locale.ROOT, msg.getINVALID_BUILD_TYPE(), buildType));
}
+ newSeg.setLastBuildJobID(job.getId());
+ CubeInstance cubeCopy = cube.latestCopyForWrite();
+ CubeUpdate update = new CubeUpdate(cubeCopy);
+ update.setToUpdateSegs(newSeg);
+ getCubeManager().updateCube(update);
getExecutableManager().addJob(job);