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);
 

Reply via email to