You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by nj...@apache.org on 2018/06/23 23:25:15 UTC

[kylin] 02/02: KYLIN-3421 fix IT

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

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

commit c5fd42aa3b925b8e83743532234ef2351f2cd4ee
Author: Zhong <nj...@apache.org>
AuthorDate: Fri Jun 22 11:04:10 2018 +0800

    KYLIN-3421 fix IT
---
 .../kylin/job/BaseTestDistributedScheduler.java    |  5 +--
 .../apache/kylin/job/ContextTestExecutable.java    | 44 ----------------------
 .../kylin/job/ITDistributedSchedulerBaseTest.java  | 43 ++-------------------
 .../job/ITDistributedSchedulerTakeOverTest.java    |  7 +---
 4 files changed, 8 insertions(+), 91 deletions(-)

diff --git a/kylin-it/src/test/java/org/apache/kylin/job/BaseTestDistributedScheduler.java b/kylin-it/src/test/java/org/apache/kylin/job/BaseTestDistributedScheduler.java
index 644b2b3..ec6faf2 100644
--- a/kylin-it/src/test/java/org/apache/kylin/job/BaseTestDistributedScheduler.java
+++ b/kylin-it/src/test/java/org/apache/kylin/job/BaseTestDistributedScheduler.java
@@ -57,9 +57,8 @@ public class BaseTestDistributedScheduler extends HBaseMetadataTestCase {
     static File localMetaDir;
     static String backup;
 
-    static final String SEGMENT_ID = "segmentId";
-    static final String segmentId1 = "seg1" + UUID.randomUUID();
-    static final String segmentId2 = "seg2" + UUID.randomUUID();
+    static final String jobId1 = "job1" + UUID.randomUUID();
+    static final String jobId2 = "job2" + UUID.randomUUID();
     static final String serverName1 = "serverName1";
     static final String serverName2 = "serverName2";
     static final String confDstPath1 = "target/kylin_metadata_dist_lock_test1/kylin.properties";
diff --git a/kylin-it/src/test/java/org/apache/kylin/job/ContextTestExecutable.java b/kylin-it/src/test/java/org/apache/kylin/job/ContextTestExecutable.java
deleted file mode 100644
index 9b4f299..0000000
--- a/kylin-it/src/test/java/org/apache/kylin/job/ContextTestExecutable.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
-*/
-
-package org.apache.kylin.job;
-
-import org.apache.kylin.job.exception.ExecuteException;
-import org.apache.kylin.job.execution.AbstractExecutable;
-import org.apache.kylin.job.execution.ExecutableContext;
-import org.apache.kylin.job.execution.ExecuteResult;
-
-public class ContextTestExecutable extends AbstractExecutable {
-    public ContextTestExecutable() {
-        super();
-    }
-
-    @Override
-    protected ExecuteResult doWork(ExecutableContext context) throws ExecuteException {
-
-        try {
-            Thread.sleep(1000);
-        } catch (InterruptedException e) {
-        }
-        if (context.getConfig() == BaseTestDistributedScheduler.kylinConfig1) {
-            return new ExecuteResult();
-        } else {
-            return new ExecuteResult(ExecuteResult.State.ERROR, "error");
-        }
-    }
-}
diff --git a/kylin-it/src/test/java/org/apache/kylin/job/ITDistributedSchedulerBaseTest.java b/kylin-it/src/test/java/org/apache/kylin/job/ITDistributedSchedulerBaseTest.java
index 483d8f7..0b0a40f 100644
--- a/kylin-it/src/test/java/org/apache/kylin/job/ITDistributedSchedulerBaseTest.java
+++ b/kylin-it/src/test/java/org/apache/kylin/job/ITDistributedSchedulerBaseTest.java
@@ -28,23 +28,20 @@ import org.junit.Test;
 public class ITDistributedSchedulerBaseTest extends BaseTestDistributedScheduler {
     @Test
     public void testSchedulerLock() throws Exception {
-        if (!lock(jobLock1, segmentId1)) {
+        if (!lock(jobLock1, jobId1)) {
             throw new JobException("fail to get the lock");
         }
         DefaultChainedExecutable job = new DefaultChainedExecutable();
-        job.setParam(SEGMENT_ID, segmentId1);
+        job.setId(jobId1);
         AbstractExecutable task1 = new SucceedTestExecutable();
-        task1.setParam(SEGMENT_ID, segmentId1);
         AbstractExecutable task2 = new SucceedTestExecutable();
-        task2.setParam(SEGMENT_ID, segmentId1);
         AbstractExecutable task3 = new SucceedTestExecutable();
-        task3.setParam(SEGMENT_ID, segmentId1);
         job.addTask(task1);
         job.addTask(task2);
         job.addTask(task3);
         execMgr.addJob(job);
 
-        Assert.assertEquals(serverName1, getServerName(segmentId1));
+        Assert.assertEquals(serverName1, getServerName(jobId1));
 
         waitForJobFinish(job.getId());
 
@@ -55,38 +52,6 @@ public class ITDistributedSchedulerBaseTest extends BaseTestDistributedScheduler
         
         Thread.sleep(5000);
 
-        Assert.assertEquals(null, getServerName(segmentId1));
-    }
-
-    @Test
-    public void testSchedulerConsistent() throws Exception {
-        if (!lock(jobLock1, segmentId2)) {
-            throw new JobException("fail to get the lock");
-        }
-        DefaultChainedExecutable job = new DefaultChainedExecutable();
-        job.setParam(SEGMENT_ID, segmentId2);
-        ContextTestExecutable task1 = new ContextTestExecutable();
-        task1.setParam(SEGMENT_ID, segmentId2);
-        job.addTask(task1);
-        execMgr.addJob(job);
-
-        waitForJobFinish(job.getId());
-        Assert.assertEquals(ExecutableState.SUCCEED, execMgr.getOutput(task1.getId()).getState());
-        Assert.assertEquals(ExecutableState.SUCCEED, execMgr.getOutput(job.getId()).getState());
-
-        if (!lock(jobLock2, segmentId2)) {
-            throw new JobException("fail to get the lock");
-        }
-
-        DefaultChainedExecutable job2 = new DefaultChainedExecutable();
-        job2.setParam(SEGMENT_ID, segmentId2);
-        ContextTestExecutable task2 = new ContextTestExecutable();
-        task2.setParam(SEGMENT_ID, segmentId2);
-        job2.addTask(task2);
-        execMgr.addJob(job2);
-
-        waitForJobFinish(job2.getId());
-        Assert.assertEquals(ExecutableState.ERROR, execMgr.getOutput(task2.getId()).getState());
-        Assert.assertEquals(ExecutableState.ERROR, execMgr.getOutput(job2.getId()).getState());
+        Assert.assertEquals(null, getServerName(jobId1));
     }
 }
diff --git a/kylin-it/src/test/java/org/apache/kylin/job/ITDistributedSchedulerTakeOverTest.java b/kylin-it/src/test/java/org/apache/kylin/job/ITDistributedSchedulerTakeOverTest.java
index d9e0d9a..c2256e3 100644
--- a/kylin-it/src/test/java/org/apache/kylin/job/ITDistributedSchedulerTakeOverTest.java
+++ b/kylin-it/src/test/java/org/apache/kylin/job/ITDistributedSchedulerTakeOverTest.java
@@ -28,18 +28,15 @@ import org.junit.Test;
 public class ITDistributedSchedulerTakeOverTest extends BaseTestDistributedScheduler {
     @Test
     public void testSchedulerTakeOver() throws Exception {
-        if (!lock(jobLock1, segmentId2)) {
+        if (!lock(jobLock1, jobId2)) {
             throw new JobException("fail to get the lock");
         }
 
         DefaultChainedExecutable job = new DefaultChainedExecutable();
-        job.setParam(SEGMENT_ID, segmentId2);
+        job.setId(jobId2);
         AbstractExecutable task1 = new SucceedTestExecutable();
-        task1.setParam(SEGMENT_ID, segmentId2);
         AbstractExecutable task2 = new SucceedTestExecutable();
-        task2.setParam(SEGMENT_ID, segmentId2);
         AbstractExecutable task3 = new SucceedTestExecutable();
-        task3.setParam(SEGMENT_ID, segmentId2);
         job.addTask(task1);
         job.addTask(task2);
         job.addTask(task3);