From 0577dc97808226b2a5ef4b1fa5fc819b3a54095e Mon Sep 17 00:00:00 2001 From: Yichao Yang <1048262223@qq.com> Date: Sat, 25 Jul 2020 19:24:16 +0800 Subject: [PATCH] [Test-3288][server] Fix github ci unit test oom (#3305) * [Improvement] Test github action oom * Optimize the test case performance * Remove the unused import --- .../server/master/MasterServer.java | 4 +- .../master/runner/MasterExecThread.java | 14 ++-- .../master/runner/MasterSchedulerService.java | 23 ++++-- .../server/master/MasterExecThreadTest.java | 21 +++--- .../TaskPriorityQueueConsumerTest.java | 18 ++++- .../dispatch/ExecutorDispatcherTest.java | 2 + .../host/RoundRobinHostManagerTest.java | 1 + .../master/registry/MasterRegistryTest.java | 1 + .../runner/MasterTaskExecThreadTest.java | 71 ++++++++++--------- .../registry/ZookeeperNodeManagerTest.java | 9 ++- .../processor/TaskCallbackServiceTest.java | 7 +- .../worker/registry/WorkerRegistryTest.java | 1 + 12 files changed, 109 insertions(+), 63 deletions(-) diff --git a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/MasterServer.java b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/MasterServer.java index d86374244f..e6c7792388 100644 --- a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/MasterServer.java +++ b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/MasterServer.java @@ -123,8 +123,8 @@ public class MasterServer { // self tolerant this.zkMasterClient.start(); - // - masterSchedulerService.start(); + // scheduler start + this.masterSchedulerService.start(); // start QuartzExecutors // what system should do if exception diff --git a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/MasterExecThread.java b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/MasterExecThread.java index 4b5c3f7d00..177fb8a8c2 100644 --- a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/MasterExecThread.java +++ b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/MasterExecThread.java @@ -35,7 +35,6 @@ import org.apache.dolphinscheduler.dao.utils.DagHelper; import org.apache.dolphinscheduler.remote.NettyRemotingClient; import org.apache.dolphinscheduler.server.master.config.MasterConfig; import org.apache.dolphinscheduler.server.utils.AlertManager; -import org.apache.dolphinscheduler.service.bean.SpringApplicationContext; import org.apache.dolphinscheduler.service.process.ProcessService; import org.apache.dolphinscheduler.service.quartz.cron.CronUtils; import org.slf4j.Logger; @@ -123,12 +122,12 @@ public class MasterExecThread implements Runnable { /** * alert manager */ - private AlertManager alertManager = new AlertManager(); + private AlertManager alertManager; /** * the object of DAG */ - private DAG dag; + private DAG dag; /** * process service @@ -151,15 +150,20 @@ public class MasterExecThread implements Runnable { * @param processService processService * @param nettyRemotingClient nettyRemotingClient */ - public MasterExecThread(ProcessInstance processInstance, ProcessService processService, NettyRemotingClient nettyRemotingClient){ + public MasterExecThread(ProcessInstance processInstance + , ProcessService processService + , NettyRemotingClient nettyRemotingClient + , AlertManager alertManager + , MasterConfig masterConfig) { this.processService = processService; this.processInstance = processInstance; - this.masterConfig = SpringApplicationContext.getBean(MasterConfig.class); + this.masterConfig = masterConfig; int masterTaskExecNum = masterConfig.getMasterExecTaskNum(); this.taskExecService = ThreadUtils.newDaemonFixedThreadExecutor("Master-Task-Exec-Thread", masterTaskExecNum); this.nettyRemotingClient = nettyRemotingClient; + this.alertManager = alertManager; } diff --git a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/MasterSchedulerService.java b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/MasterSchedulerService.java index b0c0ccb2df..712f882e19 100644 --- a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/MasterSchedulerService.java +++ b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/MasterSchedulerService.java @@ -16,6 +16,11 @@ */ package org.apache.dolphinscheduler.server.master.runner; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; + +import javax.annotation.PostConstruct; + import org.apache.curator.framework.imps.CuratorFrameworkState; import org.apache.curator.framework.recipes.locks.InterProcessMutex; import org.apache.dolphinscheduler.common.Constants; @@ -28,6 +33,7 @@ import org.apache.dolphinscheduler.dao.entity.ProcessInstance; import org.apache.dolphinscheduler.remote.NettyRemotingClient; import org.apache.dolphinscheduler.remote.config.NettyClientConfig; import org.apache.dolphinscheduler.server.master.config.MasterConfig; +import org.apache.dolphinscheduler.server.utils.AlertManager; import org.apache.dolphinscheduler.server.zk.ZKMasterClient; import org.apache.dolphinscheduler.service.process.ProcessService; import org.slf4j.Logger; @@ -35,10 +41,6 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import javax.annotation.PostConstruct; -import java.util.concurrent.ThreadPoolExecutor; -import java.util.concurrent.TimeUnit; - /** * master scheduler thread */ @@ -68,6 +70,11 @@ public class MasterSchedulerService extends Thread { @Autowired private MasterConfig masterConfig; + /** + * alert manager + */ + private AlertManager alertManager = new AlertManager(); + /** * netty remoting client */ @@ -139,7 +146,13 @@ public class MasterSchedulerService extends Thread { this.masterConfig.getMasterExecThreads() - activeCount, command); if (processInstance != null) { logger.info("start master exec thread , split DAG ..."); - masterExecService.execute(new MasterExecThread(processInstance, processService, nettyRemotingClient)); + masterExecService.execute( + new MasterExecThread( + processInstance + , processService + , nettyRemotingClient + , alertManager + , masterConfig)); } }catch (Exception e){ logger.error("scan command error ", e); diff --git a/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/MasterExecThreadTest.java b/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/MasterExecThreadTest.java index 5875d21758..bf1e7e2d7a 100644 --- a/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/MasterExecThreadTest.java +++ b/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/MasterExecThreadTest.java @@ -72,8 +72,6 @@ public class MasterExecThreadTest { applicationContext = mock(ApplicationContext.class); config = new MasterConfig(); config.setMasterExecTaskNum(1); - SpringApplicationContext springApplicationContext = new SpringApplicationContext(); - springApplicationContext.setApplicationContext(applicationContext); Mockito.when(applicationContext.getBean(MasterConfig.class)).thenReturn(config); processInstance = mock(ProcessInstance.class); @@ -84,14 +82,17 @@ public class MasterExecThreadTest { Mockito.when(processInstance.getScheduleTime()).thenReturn(DateUtils.stringToDate("2020-01-01 00:00:00")); Map cmdParam = new HashMap<>(); cmdParam.put(CMDPARAM_COMPLEMENT_DATA_START_DATE, "2020-01-01 00:00:00"); - cmdParam.put(CMDPARAM_COMPLEMENT_DATA_END_DATE, "2020-01-31 23:00:00"); + cmdParam.put(CMDPARAM_COMPLEMENT_DATA_END_DATE, "2020-01-20 23:00:00"); Mockito.when(processInstance.getCommandParam()).thenReturn(JSONUtils.toJsonString(cmdParam)); ProcessDefinition processDefinition = new ProcessDefinition(); processDefinition.setGlobalParamMap(Collections.EMPTY_MAP); processDefinition.setGlobalParamList(Collections.EMPTY_LIST); Mockito.when(processInstance.getProcessDefinition()).thenReturn(processDefinition); - masterExecThread = PowerMockito.spy(new MasterExecThread(processInstance, processService,null)); + masterExecThread = PowerMockito.spy(new MasterExecThread( + processInstance + , processService + ,null, null, config)); // prepareProcess init dag Field dag = MasterExecThread.class.getDeclaredField("dag"); dag.setAccessible(true); @@ -114,11 +115,11 @@ public class MasterExecThreadTest { Method method = MasterExecThread.class.getDeclaredMethod("executeComplementProcess"); method.setAccessible(true); method.invoke(masterExecThread); - // one create save, and 1-30 for next save, and last day 31 no save - verify(processService, times(31)).saveProcessInstance(processInstance); + // one create save, and 1-30 for next save, and last day 20 no save + verify(processService, times(20)).saveProcessInstance(processInstance); }catch (Exception e){ e.printStackTrace(); - Assert.assertTrue(false); + Assert.fail(); } } @@ -133,10 +134,10 @@ public class MasterExecThreadTest { Method method = MasterExecThread.class.getDeclaredMethod("executeComplementProcess"); method.setAccessible(true); method.invoke(masterExecThread); - // one create save, and 15(1 to 31 step 2) for next save, and last day 31 no save - verify(processService, times(15)).saveProcessInstance(processInstance); + // one create save, and 9(1 to 20 step 2) for next save, and last day 31 no save + verify(processService, times(9)).saveProcessInstance(processInstance); }catch (Exception e){ - Assert.assertTrue(false); + Assert.fail(); } } diff --git a/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/consumer/TaskPriorityQueueConsumerTest.java b/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/consumer/TaskPriorityQueueConsumerTest.java index beefedb36c..dce80ab698 100644 --- a/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/consumer/TaskPriorityQueueConsumerTest.java +++ b/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/consumer/TaskPriorityQueueConsumerTest.java @@ -17,11 +17,18 @@ package org.apache.dolphinscheduler.server.master.consumer; +import java.util.Date; + import org.apache.dolphinscheduler.common.enums.CommandType; import org.apache.dolphinscheduler.common.enums.DbType; import org.apache.dolphinscheduler.common.enums.ExecutionStatus; import org.apache.dolphinscheduler.common.enums.Priority; -import org.apache.dolphinscheduler.dao.entity.*; +import org.apache.dolphinscheduler.common.thread.Stopper; +import org.apache.dolphinscheduler.dao.entity.DataSource; +import org.apache.dolphinscheduler.dao.entity.ProcessDefinition; +import org.apache.dolphinscheduler.dao.entity.ProcessInstance; +import org.apache.dolphinscheduler.dao.entity.TaskInstance; +import org.apache.dolphinscheduler.dao.entity.Tenant; import org.apache.dolphinscheduler.server.master.config.MasterConfig; import org.apache.dolphinscheduler.server.master.dispatch.ExecutorDispatcher; import org.apache.dolphinscheduler.server.master.dispatch.executor.NettyExecutorManager; @@ -34,6 +41,7 @@ import org.apache.dolphinscheduler.service.process.ProcessService; import org.apache.dolphinscheduler.service.queue.TaskPriorityQueue; import org.apache.dolphinscheduler.service.zk.ZookeeperCachedOperator; import org.apache.dolphinscheduler.service.zk.ZookeeperConfig; +import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -42,8 +50,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import java.util.Date; - @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(classes={DependencyConfig.class, SpringApplicationContext.class, SpringZKServer.class, @@ -250,5 +256,11 @@ public class TaskPriorityQueueConsumerTest { taskPriorityQueueConsumer.taskInstanceIsFinalState(1); } + @After + public void close() { + Stopper.stop(); + } + + } diff --git a/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/dispatch/ExecutorDispatcherTest.java b/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/dispatch/ExecutorDispatcherTest.java index 958df01cf8..98231bee06 100644 --- a/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/dispatch/ExecutorDispatcherTest.java +++ b/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/dispatch/ExecutorDispatcherTest.java @@ -78,5 +78,7 @@ public class ExecutorDispatcherTest { ExecutionContext executionContext = ExecutionContextTestUtils.getExecutionContext(port); executorDispatcher.dispatch(executionContext); + + workerRegistry.unRegistry(); } } diff --git a/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/dispatch/host/RoundRobinHostManagerTest.java b/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/dispatch/host/RoundRobinHostManagerTest.java index b70cf6d3e8..c38c9d4ae8 100644 --- a/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/dispatch/host/RoundRobinHostManagerTest.java +++ b/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/dispatch/host/RoundRobinHostManagerTest.java @@ -74,5 +74,6 @@ public class RoundRobinHostManagerTest { Host host = roundRobinHostManager.select(context); Assert.assertTrue(StringUtils.isNotEmpty(host.getAddress())); Assert.assertTrue(host.getAddress().equalsIgnoreCase(NetUtils.getHost() + ":" + workerConfig.getListenPort())); + workerRegistry.unRegistry(); } } diff --git a/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/registry/MasterRegistryTest.java b/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/registry/MasterRegistryTest.java index 9d90f20706..18c8b496d7 100644 --- a/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/registry/MasterRegistryTest.java +++ b/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/registry/MasterRegistryTest.java @@ -58,6 +58,7 @@ public class MasterRegistryTest { String masterNodePath = masterPath + "/" + (Constants.LOCAL_ADDRESS + ":" + masterConfig.getListenPort()); String heartbeat = zookeeperRegistryCenter.getZookeeperCachedOperator().get(masterNodePath); Assert.assertEquals(HEARTBEAT_FOR_ZOOKEEPER_INFO_LENGTH, heartbeat.split(",").length); + masterRegistry.unRegistry(); } @Test diff --git a/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/runner/MasterTaskExecThreadTest.java b/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/runner/MasterTaskExecThreadTest.java index 9a3f2a6790..f29691e9bb 100644 --- a/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/runner/MasterTaskExecThreadTest.java +++ b/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/runner/MasterTaskExecThreadTest.java @@ -17,66 +17,75 @@ package org.apache.dolphinscheduler.server.master.runner; +import java.util.HashSet; +import java.util.Set; + import org.apache.dolphinscheduler.common.enums.ExecutionStatus; import org.apache.dolphinscheduler.dao.entity.TaskInstance; -import org.apache.dolphinscheduler.server.master.consumer.TaskPriorityQueueConsumer; -import org.apache.dolphinscheduler.server.master.dispatch.ExecutorDispatcher; -import org.apache.dolphinscheduler.server.master.dispatch.executor.NettyExecutorManager; -import org.apache.dolphinscheduler.server.registry.DependencyConfig; -import org.apache.dolphinscheduler.server.registry.ZookeeperNodeManager; import org.apache.dolphinscheduler.server.registry.ZookeeperRegistryCenter; -import org.apache.dolphinscheduler.server.zk.SpringZKServer; import org.apache.dolphinscheduler.service.bean.SpringApplicationContext; import org.apache.dolphinscheduler.service.process.ProcessService; -import org.apache.dolphinscheduler.service.zk.CuratorZookeeperClient; -import org.apache.dolphinscheduler.service.zk.ZookeeperCachedOperator; -import org.apache.dolphinscheduler.service.zk.ZookeeperConfig; +import org.junit.Assert; +import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import org.powermock.api.mockito.PowerMockito; +import org.powermock.core.classloader.annotations.PrepareForTest; import org.springframework.context.ApplicationContext; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import java.util.HashSet; -import java.util.Set; +import com.google.common.collect.Sets; -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration(classes={DependencyConfig.class, SpringApplicationContext.class, SpringZKServer.class, - NettyExecutorManager.class, ExecutorDispatcher.class, ZookeeperRegistryCenter.class, TaskPriorityQueueConsumer.class, - ZookeeperNodeManager.class, ZookeeperCachedOperator.class, ZookeeperConfig.class, CuratorZookeeperClient.class}) +@RunWith(MockitoJUnitRunner.Silent.class) +@PrepareForTest(MasterTaskExecThread.class) public class MasterTaskExecThreadTest { + private MasterTaskExecThread masterTaskExecThread; + + private SpringApplicationContext springApplicationContext; + + private ZookeeperRegistryCenter zookeeperRegistryCenter; + + @Before + public void setUp() { + + ApplicationContext applicationContext = PowerMockito.mock(ApplicationContext.class); + this.springApplicationContext = new SpringApplicationContext(); + springApplicationContext.setApplicationContext(applicationContext); + this.zookeeperRegistryCenter = PowerMockito.mock(ZookeeperRegistryCenter.class); + PowerMockito.when(SpringApplicationContext.getBean(ZookeeperRegistryCenter.class)) + .thenReturn(this.zookeeperRegistryCenter); + this.masterTaskExecThread = new MasterTaskExecThread(null); + } @Test public void testExistsValidWorkerGroup1(){ - ZookeeperRegistryCenter zookeeperRegistryCenter = Mockito.mock(ZookeeperRegistryCenter.class); - Mockito.when(zookeeperRegistryCenter.getWorkerGroupDirectly()).thenReturn(null); - MasterTaskExecThread masterTaskExecThread = new MasterTaskExecThread(null); - masterTaskExecThread.existsValidWorkerGroup("default"); + + Mockito.when(zookeeperRegistryCenter.getWorkerGroupDirectly()).thenReturn(Sets.newHashSet()); + boolean b = masterTaskExecThread.existsValidWorkerGroup("default"); + Assert.assertFalse(b); } @Test public void testExistsValidWorkerGroup2(){ - ZookeeperRegistryCenter zookeeperRegistryCenter = Mockito.mock(ZookeeperRegistryCenter.class); Set workerGorups = new HashSet<>(); workerGorups.add("test1"); workerGorups.add("test2"); Mockito.when(zookeeperRegistryCenter.getWorkerGroupDirectly()).thenReturn(workerGorups); - MasterTaskExecThread masterTaskExecThread = new MasterTaskExecThread(null); - masterTaskExecThread.existsValidWorkerGroup("default"); + boolean b = masterTaskExecThread.existsValidWorkerGroup("default"); + Assert.assertFalse(b); } @Test public void testExistsValidWorkerGroup3(){ - ZookeeperRegistryCenter zookeeperRegistryCenter = Mockito.mock(ZookeeperRegistryCenter.class); Set workerGorups = new HashSet<>(); workerGorups.add("test1"); Mockito.when(zookeeperRegistryCenter.getWorkerGroupDirectly()).thenReturn(workerGorups); Mockito.when(zookeeperRegistryCenter.getWorkerGroupNodesDirectly("test1")).thenReturn(workerGorups); - MasterTaskExecThread masterTaskExecThread = new MasterTaskExecThread(null); - masterTaskExecThread.existsValidWorkerGroup("test1"); + boolean b = masterTaskExecThread.existsValidWorkerGroup("test1"); + Assert.assertTrue(b); } @Test @@ -84,17 +93,15 @@ public class MasterTaskExecThreadTest { ProcessService processService = Mockito.mock(ProcessService.class); - ApplicationContext applicationContext = Mockito.mock(ApplicationContext.class); - SpringApplicationContext springApplicationContext = new SpringApplicationContext(); - springApplicationContext.setApplicationContext(applicationContext); - Mockito.when(applicationContext.getBean(ProcessService.class)).thenReturn(processService); + Mockito.when(this.springApplicationContext.getBean(ProcessService.class)) + .thenReturn(processService); TaskInstance taskInstance = getTaskInstance(); Mockito.when(processService.findTaskInstanceById(252612)) .thenReturn(taskInstance); Mockito.when(processService.updateTaskInstance(taskInstance)) - .thenReturn(true); + .thenReturn(true); MasterTaskExecThread masterTaskExecThread = new MasterTaskExecThread(taskInstance); masterTaskExecThread.pauseTask(); diff --git a/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/registry/ZookeeperNodeManagerTest.java b/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/registry/ZookeeperNodeManagerTest.java index 0e780a59ce..4ec225b855 100644 --- a/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/registry/ZookeeperNodeManagerTest.java +++ b/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/registry/ZookeeperNodeManagerTest.java @@ -17,6 +17,9 @@ package org.apache.dolphinscheduler.server.registry; +import java.util.Map; +import java.util.Set; + import org.apache.dolphinscheduler.common.utils.CollectionUtils; import org.apache.dolphinscheduler.common.utils.NetUtils; import org.apache.dolphinscheduler.server.master.config.MasterConfig; @@ -33,9 +36,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import java.util.Map; -import java.util.Set; - /** * zookeeper node manager test */ @@ -75,6 +75,7 @@ public class ZookeeperNodeManagerTest { Assert.assertTrue(CollectionUtils.isNotEmpty(masterNodes)); Assert.assertEquals(1, masterNodes.size()); Assert.assertEquals(NetUtils.getHost() + ":" + masterConfig.getListenPort(), masterNodes.iterator().next()); + workerRegistry.unRegistry(); } @Test @@ -88,6 +89,7 @@ public class ZookeeperNodeManagerTest { Map> workerGroupNodes = zookeeperNodeManager.getWorkerGroupNodes(); Assert.assertEquals(1, workerGroupNodes.size()); Assert.assertEquals("default".trim(), workerGroupNodes.keySet().iterator().next()); + workerRegistry.unRegistry(); } @Test @@ -103,5 +105,6 @@ public class ZookeeperNodeManagerTest { Assert.assertTrue(CollectionUtils.isNotEmpty(workerNodes)); Assert.assertEquals(1, workerNodes.size()); Assert.assertEquals(NetUtils.getHost() + ":" + workerConfig.getListenPort(), workerNodes.iterator().next()); + workerRegistry.unRegistry(); } } diff --git a/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/worker/processor/TaskCallbackServiceTest.java b/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/worker/processor/TaskCallbackServiceTest.java index d09d399bef..dee8cd91cd 100644 --- a/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/worker/processor/TaskCallbackServiceTest.java +++ b/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/worker/processor/TaskCallbackServiceTest.java @@ -16,7 +16,8 @@ */ package org.apache.dolphinscheduler.server.worker.processor; -import io.netty.channel.Channel; +import java.util.Date; + import org.apache.dolphinscheduler.common.thread.Stopper; import org.apache.dolphinscheduler.common.utils.JSONUtils; import org.apache.dolphinscheduler.remote.NettyRemotingClient; @@ -50,8 +51,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import java.io.IOException; -import java.util.Date; +import io.netty.channel.Channel; /** * test task call back service @@ -189,6 +189,7 @@ public class TaskCallbackServiceTest { nettyRemotingServer.close(); nettyRemotingClient.close(); + masterRegistry.unRegistry(); } @Test diff --git a/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/worker/registry/WorkerRegistryTest.java b/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/worker/registry/WorkerRegistryTest.java index 7fc9d2bf79..0490d934e6 100644 --- a/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/worker/registry/WorkerRegistryTest.java +++ b/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/worker/registry/WorkerRegistryTest.java @@ -143,6 +143,7 @@ public class WorkerRegistryTest { Assert.assertEquals(0, testWorkerGroupPathZkChildren.size()); Assert.assertEquals(0, defaultWorkerGroupPathZkChildren.size()); + workerRegistry.unRegistry(); } @Test