You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by ni...@apache.org on 2019/08/13 08:12:04 UTC

[kylin] branch master updated: KYLIN-4130 Fix Coordinator->StreamingBuildJobStatusChecker thread always hold a old CubeManager

This is an automated email from the ASF dual-hosted git repository.

nic pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kylin.git


The following commit(s) were added to refs/heads/master by this push:
     new 724b36d  KYLIN-4130 Fix Coordinator->StreamingBuildJobStatusChecker thread always hold a old CubeManager
724b36d is described below

commit 724b36de8c15b417d2332a5699cafbe5f0c9b160
Author: chao long <wa...@qq.com>
AuthorDate: Mon Aug 12 21:13:54 2019 +0800

    KYLIN-4130 Fix Coordinator->StreamingBuildJobStatusChecker thread always hold a old CubeManager
---
 .../src/main/java/org/apache/kylin/stream/coordinator/Coordinator.java  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/stream-coordinator/src/main/java/org/apache/kylin/stream/coordinator/Coordinator.java b/stream-coordinator/src/main/java/org/apache/kylin/stream/coordinator/Coordinator.java
index 66a9c01..7037d13 100644
--- a/stream-coordinator/src/main/java/org/apache/kylin/stream/coordinator/Coordinator.java
+++ b/stream-coordinator/src/main/java/org/apache/kylin/stream/coordinator/Coordinator.java
@@ -1313,7 +1313,6 @@ public class Coordinator implements CoordinatorClient {
 
     private class StreamingBuildJobStatusChecker implements Runnable {
         private int maxJobTryCnt = 5;
-        private CubeManager cubeManager = CubeManager.getInstance(KylinConfig.getInstanceFromEnv());
         private ConcurrentMap<String, ConcurrentSkipListSet<SegmentJobBuildInfo>> segmentBuildJobMap = Maps
                 .newConcurrentMap();
         private CopyOnWriteArrayList<String> pendingCubeName = Lists.newCopyOnWriteArrayList();
@@ -1369,6 +1368,7 @@ public class Coordinator implements CoordinatorClient {
                     ExecutableState jobState = cubingJob.getStatus();
                     if (ExecutableState.SUCCEED.equals(jobState)) {
                         logger.info("job:{} is complete", segmentBuildJob);
+                        CubeManager cubeManager = CubeManager.getInstance(KylinConfig.getInstanceFromEnv());
                         CubeInstance cubeInstance = cubeManager.getCube(segmentBuildJob.cubeName).latestCopyForWrite();
                         CubeSegment cubeSegment = cubeInstance.getSegment(segmentBuildJob.segmentName, null);
                         logger.info("the cube:{} segment:{} is ready", segmentBuildJob.cubeName,