From f4583d78e91f71aa80b655b0e510f786aca64399 Mon Sep 17 00:00:00 2001 From: qiaozhanwei Date: Thu, 14 May 2020 17:50:47 +0800 Subject: [PATCH 1/2] add UT (#2717) * add LoggerServerTest UT * add LoggerServerTest UT * add LoggerServerTest UT add RemoveTaskLogRequestCommandTest UT add RemoveTaskLogResponseCommandTest Co-authored-by: qiaozhanwei --- .../RemoveTaskLogRequestCommandTest.java | 35 +++++++++++++++++++ .../RemoveTaskLogResponseCommandTest.java | 34 ++++++++++++++++++ .../server/log/LoggerServerTest.java | 24 ++++++++++++- dolphinscheduler-service/pom.xml | 22 ++++++++++++ pom.xml | 2 ++ 5 files changed, 116 insertions(+), 1 deletion(-) create mode 100644 dolphinscheduler-remote/src/test/java/org/apache/dolphinscheduler/remote/RemoveTaskLogRequestCommandTest.java create mode 100644 dolphinscheduler-remote/src/test/java/org/apache/dolphinscheduler/remote/RemoveTaskLogResponseCommandTest.java diff --git a/dolphinscheduler-remote/src/test/java/org/apache/dolphinscheduler/remote/RemoveTaskLogRequestCommandTest.java b/dolphinscheduler-remote/src/test/java/org/apache/dolphinscheduler/remote/RemoveTaskLogRequestCommandTest.java new file mode 100644 index 0000000000..37c21064c4 --- /dev/null +++ b/dolphinscheduler-remote/src/test/java/org/apache/dolphinscheduler/remote/RemoveTaskLogRequestCommandTest.java @@ -0,0 +1,35 @@ +/* + * 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.dolphinscheduler.remote; + +import junit.framework.Assert; +import org.apache.dolphinscheduler.remote.command.Command; +import org.apache.dolphinscheduler.remote.command.log.RemoveTaskLogRequestCommand; +import org.apache.dolphinscheduler.remote.command.log.RemoveTaskLogResponseCommand; +import org.junit.Test; + +public class RemoveTaskLogRequestCommandTest { + + @Test + public void testConvert2Command(){ + RemoveTaskLogResponseCommand removeTaskLogResponseCommand = new RemoveTaskLogResponseCommand(); + removeTaskLogResponseCommand.setStatus(true); + Command command = removeTaskLogResponseCommand.convert2Command(122); + Assert.assertNotNull(command); + } +} diff --git a/dolphinscheduler-remote/src/test/java/org/apache/dolphinscheduler/remote/RemoveTaskLogResponseCommandTest.java b/dolphinscheduler-remote/src/test/java/org/apache/dolphinscheduler/remote/RemoveTaskLogResponseCommandTest.java new file mode 100644 index 0000000000..aab0ad336f --- /dev/null +++ b/dolphinscheduler-remote/src/test/java/org/apache/dolphinscheduler/remote/RemoveTaskLogResponseCommandTest.java @@ -0,0 +1,34 @@ +/* + * 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.dolphinscheduler.remote; + +import junit.framework.Assert; +import org.apache.dolphinscheduler.remote.command.Command; +import org.apache.dolphinscheduler.remote.command.log.RemoveTaskLogRequestCommand; +import org.junit.Test; + +public class RemoveTaskLogResponseCommandTest { + + @Test + public void testConvert2Command(){ + RemoveTaskLogRequestCommand removeTaskLogRequestCommand = new RemoveTaskLogRequestCommand(); + removeTaskLogRequestCommand.setPath("/opt/zhangsan"); + Command command = removeTaskLogRequestCommand.convert2Command(); + Assert.assertNotNull(command); + } +} diff --git a/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/log/LoggerServerTest.java b/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/log/LoggerServerTest.java index f96b68f58e..0da88746f5 100644 --- a/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/log/LoggerServerTest.java +++ b/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/log/LoggerServerTest.java @@ -23,8 +23,27 @@ import org.junit.Test; public class LoggerServerTest { + + @Test + public void testRollViewLog(){ + LoggerServer loggerServer = new LoggerServer(); + loggerServer.start(); + + LogClientService logClientService = new LogClientService(); + logClientService.rollViewLog("localhost", Constants.RPC_PORT,"/opt/demo.txt",0,1000); + + try { + Thread.sleep(5000); + } catch (InterruptedException e) { + + } + + loggerServer.stop(); + logClientService.close(); + } + @Test - public void testLoggerServer(){ + public void testRemoveTaskLog(){ LoggerServer loggerServer = new LoggerServer(); loggerServer.start(); @@ -36,5 +55,8 @@ public class LoggerServerTest { } catch (InterruptedException e) { } + + loggerServer.stop(); + logClientService.close(); } } diff --git a/dolphinscheduler-service/pom.xml b/dolphinscheduler-service/pom.xml index c150e834b9..62b0954afe 100644 --- a/dolphinscheduler-service/pom.xml +++ b/dolphinscheduler-service/pom.xml @@ -72,5 +72,27 @@ org.quartz-scheduler quartz-jobs + + + org.powermock + powermock-module-junit4 + test + + + org.powermock + powermock-api-mockito2 + test + + + org.mockito + mockito-core + + + + + org.mockito + mockito-core + test + diff --git a/pom.xml b/pom.xml index c2b295ac5f..13a4c33eeb 100644 --- a/pom.xml +++ b/pom.xml @@ -777,6 +777,8 @@ **/dao/mapper/CommandMapperTest.java **/dao/mapper/ConnectionFactoryTest.java **/dao/mapper/DataSourceMapperTest.java + **/remote/RemoveTaskLogResponseCommandTest.java + **/remote/RemoveTaskLogRequestCommandTest.java **/remote/FastJsonSerializerTest.java **/remote/NettyRemotingClientTest.java **/remote/ResponseFutureTest.java From f26d2a7c20a4dcf55c5838647f6704dbca061a1d Mon Sep 17 00:00:00 2001 From: dailidong Date: Thu, 14 May 2020 18:21:59 +0800 Subject: [PATCH 2/2] fix worker group config no effect (#2719) --- .../src/main/resources/config/install_config.conf | 5 +++-- script/scp-hosts.sh | 6 +++--- script/start-all.sh | 3 +-- script/stop-all.sh | 3 +-- 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/dolphinscheduler-server/src/main/resources/config/install_config.conf b/dolphinscheduler-server/src/main/resources/config/install_config.conf index f6b09b9cb8..6e24bd9f89 100644 --- a/dolphinscheduler-server/src/main/resources/config/install_config.conf +++ b/dolphinscheduler-server/src/main/resources/config/install_config.conf @@ -130,7 +130,8 @@ masters="ds1,ds2" # run worker machine # note: need to write the worker group name of each worker, the default value is "default" -workersGroup=(["ds1"]="default" ["ds2"]="default" ["ds3"]="default" ["ds4"]="default" ["ds5"]="default") + +declare -A workersGroup=(["ds1"]="default" ["ds2"]="default" ["ds3"]="default" ["ds4"]="default" ["ds5"]="default") # run alert machine # note: list of machine hostnames for deploying alert server @@ -141,4 +142,4 @@ alertServer="ds3" apiServers="ds1" # whether to start monitoring self-starting scripts -monitorServerState="false" +monitorServerState="false" \ No newline at end of file diff --git a/script/scp-hosts.sh b/script/scp-hosts.sh index adee7d76c7..6e85566d4b 100644 --- a/script/scp-hosts.sh +++ b/script/scp-hosts.sh @@ -40,8 +40,8 @@ do for dsDir in bin conf lib script sql ui install.sh do # if worker in workersGroup - if [[ "${map[${host}]}" ]] && [[ "${dsDir}" -eq "conf" ]]; then - sed -i ${txt} "s#worker.group.*#worker.group=${map[${host}]}#g" $workDir/../conf/worker.properties + if [[ "${workersGroup[${host}]}" ]] && [[ "${dsDir}" == "conf" ]]; then + sed -i ${txt} "s#worker.group.*#worker.group=${workersGroup[${host}]}#g" ${dsDir}/worker.properties fi echo "start to scp $dsDir to $host/$installPath" @@ -49,4 +49,4 @@ do done echo "scp dirs to $host/$installPath complete" -done +done \ No newline at end of file diff --git a/script/start-all.sh b/script/start-all.sh index 5579a7d87e..dda46f0c06 100644 --- a/script/start-all.sh +++ b/script/start-all.sh @@ -43,5 +43,4 @@ for apiServer in ${apiServersHost[@]} do echo "$apiServer worker server is starting" ssh -p $sshPort $apiServer "cd $installPath/; sh bin/dolphinscheduler-daemon.sh start api-server;" -done - +done \ No newline at end of file diff --git a/script/stop-all.sh b/script/stop-all.sh index e4ccf75a29..e2afd087a9 100644 --- a/script/stop-all.sh +++ b/script/stop-all.sh @@ -43,5 +43,4 @@ for apiServer in ${apiServersHost[@]} do echo "$apiServer worker server is stopping" ssh -p $sshPort $apiServer "cd $installPath/; sh bin/dolphinscheduler-daemon.sh stop api-server;" -done - +done \ No newline at end of file