Browse Source

Merge branch 'dev-1.3.0' of https://github.com/apache/incubator-dolphinscheduler into dev-1.3.0

break60 5 years ago
parent
commit
837197c60e

+ 35 - 0
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);
+    }
+}

+ 34 - 0
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);
+    }
+}

+ 3 - 2
dolphinscheduler-server/src/main/resources/config/install_config.conf

@@ -130,7 +130,8 @@ masters="ds1,ds2"
 
 
 # run worker machine
 # run worker machine
 # note: need to write the worker group name of each worker, the default value is "default"
 # 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
 # run alert machine
 # note: list of machine hostnames for deploying alert server
 # note: list of machine hostnames for deploying alert server
@@ -141,4 +142,4 @@ alertServer="ds3"
 apiServers="ds1"
 apiServers="ds1"
 
 
 # whether to start monitoring self-starting scripts
 # whether to start monitoring self-starting scripts
-monitorServerState="false"
+monitorServerState="false"

+ 23 - 1
dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/log/LoggerServerTest.java

@@ -23,8 +23,27 @@ import org.junit.Test;
 
 
 public class LoggerServerTest {
 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
     @Test
-    public void testLoggerServer(){
+    public void testRemoveTaskLog(){
         LoggerServer loggerServer = new LoggerServer();
         LoggerServer loggerServer = new LoggerServer();
         loggerServer.start();
         loggerServer.start();
 
 
@@ -36,5 +55,8 @@ public class LoggerServerTest {
         } catch (InterruptedException e) {
         } catch (InterruptedException e) {
 
 
         }
         }
+
+        loggerServer.stop();
+        logClientService.close();
     }
     }
 }
 }

+ 22 - 0
dolphinscheduler-service/pom.xml

@@ -72,5 +72,27 @@
             <groupId>org.quartz-scheduler</groupId>
             <groupId>org.quartz-scheduler</groupId>
             <artifactId>quartz-jobs</artifactId>
             <artifactId>quartz-jobs</artifactId>
         </dependency>
         </dependency>
+
+        <dependency>
+            <groupId>org.powermock</groupId>
+            <artifactId>powermock-module-junit4</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.powermock</groupId>
+            <artifactId>powermock-api-mockito2</artifactId>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.mockito</groupId>
+                    <artifactId>mockito-core</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.mockito</groupId>
+            <artifactId>mockito-core</artifactId>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
     </dependencies>
 </project>
 </project>

+ 2 - 0
pom.xml

@@ -777,6 +777,8 @@
                         <include>**/dao/mapper/CommandMapperTest.java</include>
                         <include>**/dao/mapper/CommandMapperTest.java</include>
                         <include>**/dao/mapper/ConnectionFactoryTest.java</include>
                         <include>**/dao/mapper/ConnectionFactoryTest.java</include>
                         <include>**/dao/mapper/DataSourceMapperTest.java</include>
                         <include>**/dao/mapper/DataSourceMapperTest.java</include>
+                        <include>**/remote/RemoveTaskLogResponseCommandTest.java</include>
+                        <include>**/remote/RemoveTaskLogRequestCommandTest.java</include>
                         <include>**/remote/FastJsonSerializerTest.java</include>
                         <include>**/remote/FastJsonSerializerTest.java</include>
                         <include>**/remote/NettyRemotingClientTest.java</include>
                         <include>**/remote/NettyRemotingClientTest.java</include>
                         <include>**/remote/ResponseFutureTest.java</include>
                         <include>**/remote/ResponseFutureTest.java</include>

+ 3 - 3
script/scp-hosts.sh

@@ -40,8 +40,8 @@ do
   for dsDir in bin conf lib script sql ui install.sh
   for dsDir in bin conf lib script sql ui install.sh
   do
   do
     # if worker in workersGroup
     # 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
     fi
 
 
     echo "start to scp $dsDir to $host/$installPath"
     echo "start to scp $dsDir to $host/$installPath"
@@ -49,4 +49,4 @@ do
   done
   done
 
 
   echo "scp dirs to $host/$installPath complete"
   echo "scp dirs to $host/$installPath complete"
-done
+done

+ 1 - 2
script/start-all.sh

@@ -43,5 +43,4 @@ for apiServer in ${apiServersHost[@]}
 do
 do
   echo "$apiServer worker server is starting"
   echo "$apiServer worker server is starting"
   ssh -p $sshPort $apiServer  "cd $installPath/; sh bin/dolphinscheduler-daemon.sh start api-server;"
   ssh -p $sshPort $apiServer  "cd $installPath/; sh bin/dolphinscheduler-daemon.sh start api-server;"
-done
-
+done

+ 1 - 2
script/stop-all.sh

@@ -43,5 +43,4 @@ for apiServer in ${apiServersHost[@]}
 do
 do
   echo "$apiServer worker server is stopping"
   echo "$apiServer worker server is stopping"
   ssh -p $sshPort $apiServer  "cd $installPath/; sh bin/dolphinscheduler-daemon.sh stop api-server;"
   ssh -p $sshPort $apiServer  "cd $installPath/; sh bin/dolphinscheduler-daemon.sh stop api-server;"
-done
-
+done