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 <lichu...@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);