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

kirs pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git


The following commit(s) were added to refs/heads/dev by this push:
     new 02350ea  Fix datasource not work in tests and standalone server, and 
run all tests by default (#6743)
02350ea is described below

commit 02350ea37b3863f7303a196408a558d6a94ea5f3
Author: kezhenxu94 <[email protected]>
AuthorDate: Tue Nov 9 16:57:26 2021 +0800

    Fix datasource not work in tests and standalone server, and run all tests 
by default (#6743)
---
 .github/workflows/unit-test.yml                    |   7 -
 .licenserc.yaml                                    |   2 +-
 .../alert/plugin/AlertPluginManagerTest.java       |   5 +-
 .../alert/plugin/EmailAlertPluginTest.java         |   7 +-
 .../alert/utils/PropertyUtilsTest.java             | 221 -----------------
 dolphinscheduler-api/pom.xml                       |  12 +
 .../dolphinscheduler/api/HttpClientTest.java       | 157 ------------
 .../api/controller/AbstractControllerTest.java     |  17 ++
 .../api/controller/EnvironmentControllerTest.java  |   7 +-
 .../api/security/SecurityConfigLDAPTest.java~HEAD  |  45 ----
 .../api/security/SecurityConfigLDAPTest.java~dev   |  45 ----
 .../security/impl/ldap/LdapAuthenticatorTest.java  |   1 +
 .../api/security/impl/ldap/LdapServiceTest.java    |   7 +-
 .../impl/pwd/PasswordAuthenticatorTest.java        |   1 +
 .../apache/dolphinscheduler/common/Constants.java  |  25 +-
 .../apache/dolphinscheduler/common/CommonTest.java |  46 ----
 .../threadutils/ThreadPoolExecutorsTest.java       |   9 +-
 .../common/utils/NetUtilsTest.java                 |  20 +-
 .../dolphinscheduler/common/utils/OSUtilsTest.java | 112 ---------
 .../placeholder/TimePlaceholderUtilsTest.java      |   9 +-
 .../dao/datasource/SpringConnectionFactory.java    |   2 +-
 .../dolphinscheduler/dao/upgrade/UpgradeDao.java   |   1 -
 .../mysql/dolphinscheduler_ddl.sql                 |   0
 .../mysql/dolphinscheduler_dml.sql                 |   0
 .../postgresql/dolphinscheduler_ddl.sql            |   0
 .../postgresql/dolphinscheduler_dml.sql            |   0
 .../main/resources/sql}/dolphinscheduler_h2.sql    |   0
 .../main/resources/sql}/dolphinscheduler_mysql.sql |   0
 .../resources/sql}/dolphinscheduler_postgre.sql    |   0
 .../src/main/resources/sql}/soft_version           |   0
 .../1.0.1_schema/mysql/dolphinscheduler_ddl.sql    |   0
 .../1.0.1_schema/mysql}/dolphinscheduler_dml.sql   |   0
 .../1.0.2_schema/mysql/dolphinscheduler_ddl.sql    |   0
 .../1.0.2_schema/mysql/dolphinscheduler_dml.sql    |   0
 .../1.1.0_schema/mysql/dolphinscheduler_ddl.sql    |   0
 .../1.1.0_schema}/mysql/dolphinscheduler_dml.sql   |   0
 .../1.2.0_schema/mysql/dolphinscheduler_ddl.sql    |   0
 .../1.2.0_schema/mysql/dolphinscheduler_dml.sql    |   0
 .../postgresql/dolphinscheduler_ddl.sql            |   0
 .../postgresql/dolphinscheduler_dml.sql            |   0
 .../1.3.0_schema/mysql/dolphinscheduler_ddl.sql    |   0
 .../1.3.0_schema/mysql/dolphinscheduler_dml.sql    |   0
 .../postgresql/dolphinscheduler_ddl.sql            |   0
 .../postgresql/dolphinscheduler_dml.sql            |   0
 .../1.3.2_schema/mysql/dolphinscheduler_ddl.sql    |   0
 .../1.3.2_schema/mysql/dolphinscheduler_dml.sql    |   0
 .../postgresql/dolphinscheduler_ddl.sql            |   0
 .../postgresql/dolphinscheduler_dml.sql            |   0
 .../1.3.3_schema/mysql/dolphinscheduler_ddl.sql    |   0
 .../1.3.3_schema}/mysql/dolphinscheduler_dml.sql   |   0
 .../postgresql/dolphinscheduler_ddl.sql            |   0
 .../postgresql/dolphinscheduler_dml.sql            |   0
 .../1.3.5_schema/mysql/dolphinscheduler_ddl.sql    |   0
 .../1.3.5_schema}/mysql/dolphinscheduler_dml.sql   |   0
 .../postgresql/dolphinscheduler_ddl.sql            |   0
 .../postgresql/dolphinscheduler_dml.sql            |   0
 .../1.3.6_schema/mysql/dolphinscheduler_ddl.sql    |   0
 .../1.3.6_schema}/mysql/dolphinscheduler_dml.sql   |   0
 .../postgresql/dolphinscheduler_ddl.sql            |   0
 .../postgresql/dolphinscheduler_dml.sql            |   0
 .../1.3.7_schema/mysql/dolphinscheduler_ddl.sql    |   0
 .../1.3.7_schema}/mysql/dolphinscheduler_dml.sql   |   0
 .../postgresql/dolphinscheduler_ddl.sql            |   0
 .../postgresql/dolphinscheduler_dml.sql            |   0
 .../2.0.0_schema/mysql/dolphinscheduler_ddl.sql    |   0
 .../mysql/dolphinscheduler_ddl_post.sql            |   0
 .../2.0.0_schema}/mysql/dolphinscheduler_dml.sql   |   0
 .../postgresql/dolphinscheduler_ddl.sql            |   0
 .../postgresql/dolphinscheduler_ddl_post.sql       |   0
 .../postgresql}/dolphinscheduler_dml.sql           |   0
 .../apache/dolphinscheduler/dao/AlertDaoTest.java  |  12 +-
 .../dao/mapper/ConnectionFactoryTest.java          |  19 +-
 .../dao/upgrade/ProcessDefinitionDaoTest.java      |   8 +-
 .../dao/upgrade/UpgradeDaoTest.java                |   7 +-
 .../dao/upgrade/WorkerGroupDaoTest.java            |  14 +-
 dolphinscheduler-dist/pom.xml                      |   4 +-
 .../src/main/assembly/dolphinscheduler-bin.xml     |   2 +-
 .../server/master/WorkflowExecuteThreadTest.java   |  54 +----
 .../dolphinscheduler/server/StandaloneServer.java  |   2 +-
 pom.xml                                            | 266 +--------------------
 script/dolphinscheduler-daemon.sh                  |   5 +-
 81 files changed, 121 insertions(+), 1030 deletions(-)

diff --git a/.github/workflows/unit-test.yml b/.github/workflows/unit-test.yml
index 5a1056c..e1e0dd7 100644
--- a/.github/workflows/unit-test.yml
+++ b/.github/workflows/unit-test.yml
@@ -57,13 +57,6 @@ jobs:
         with:
           path: ~/.m2/repository
           key: ${{ runner.os }}-maven
-      - name: Bootstrap database
-        run: |
-          sed -i "/image: bitnami\/postgresql/a\    ports:\n    - 5432:5432" 
$(pwd)/docker/docker-swarm/docker-compose.yml
-          sed -i "/image: bitnami\/zookeeper/a\    ports:\n    - 2181:2181" 
$(pwd)/docker/docker-swarm/docker-compose.yml
-          docker-compose -f $(pwd)/docker/docker-swarm/docker-compose.yml up 
-d dolphinscheduler-zookeeper dolphinscheduler-postgresql
-          until docker logs docker-swarm_dolphinscheduler-postgresql_1 2>&1 | 
grep 'listening on IPv4 address'; do echo "waiting for postgresql ready ..."; 
sleep 1; done
-          docker run --rm --network docker-swarm_dolphinscheduler -v 
$(pwd)/sql/dolphinscheduler_postgre.sql:/docker-entrypoint-initdb.d/dolphinscheduler_postgre.sql
 bitnami/postgresql:11.11.0 bash -c "PGPASSWORD=root psql -h 
docker-swarm_dolphinscheduler-postgresql_1 -U root -d dolphinscheduler -v 
ON_ERROR_STOP=1 -f /docker-entrypoint-initdb.d/dolphinscheduler_postgre.sql"
 
       - name: Run Unit tests
         run: ./mvnw clean verify -B -Dmaven.test.skip=false
diff --git a/.licenserc.yaml b/.licenserc.yaml
index 143cafc..4fdd1d3 100644
--- a/.licenserc.yaml
+++ b/.licenserc.yaml
@@ -27,7 +27,7 @@ header:
     - DISCLAIMER
     - 
dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/ScriptRunner.java
     - mvnw.cmd
-    - sql/soft_version
+    - dolphinscheduler-dao/src/main/resources/sql/soft_version
     - .mvn
     - .gitattributes
     - '**/licenses/**/LICENSE-*'
diff --git 
a/dolphinscheduler-alert/src/test/java/org/apache/dolphinscheduler/alert/plugin/AlertPluginManagerTest.java
 
b/dolphinscheduler-alert/src/test/java/org/apache/dolphinscheduler/alert/plugin/AlertPluginManagerTest.java
index e7574a4..7bb6478 100644
--- 
a/dolphinscheduler-alert/src/test/java/org/apache/dolphinscheduler/alert/plugin/AlertPluginManagerTest.java
+++ 
b/dolphinscheduler-alert/src/test/java/org/apache/dolphinscheduler/alert/plugin/AlertPluginManagerTest.java
@@ -28,6 +28,7 @@ import java.util.Objects;
 
 import org.junit.Assert;
 import org.junit.Before;
+import org.junit.BeforeClass;
 import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -39,8 +40,8 @@ public class AlertPluginManagerTest {
 
     private static final Logger logger = 
LoggerFactory.getLogger(AlertPluginManagerTest.class);
 
-    @Before
-    public void setUp() {
+    @BeforeClass
+    public static void setUp() {
         System.setProperty("spring.profiles.active", "h2");
     }
 
diff --git 
a/dolphinscheduler-alert/src/test/java/org/apache/dolphinscheduler/alert/plugin/EmailAlertPluginTest.java
 
b/dolphinscheduler-alert/src/test/java/org/apache/dolphinscheduler/alert/plugin/EmailAlertPluginTest.java
index 780c53d..285b113 100644
--- 
a/dolphinscheduler-alert/src/test/java/org/apache/dolphinscheduler/alert/plugin/EmailAlertPluginTest.java
+++ 
b/dolphinscheduler-alert/src/test/java/org/apache/dolphinscheduler/alert/plugin/EmailAlertPluginTest.java
@@ -51,6 +51,7 @@ import java.util.List;
 
 import org.junit.Assert;
 import org.junit.Before;
+import org.junit.BeforeClass;
 import org.junit.Test;
 
 import com.google.common.collect.ImmutableList;
@@ -63,9 +64,13 @@ public class EmailAlertPluginTest {
     private AlertDao alertDao;
     private PluginDao pluginDao;
 
+    @BeforeClass
+    public static void setUpClass() {
+        System.setProperty("spring.profiles.active", "h2");
+    }
+
     @Before
     public void setUp() {
-        System.setProperty("spring.profiles.active", "h2");
         alertDao = DaoFactory.getDaoInstance(AlertDao.class);
         pluginDao = DaoFactory.getDaoInstance(PluginDao.class);
     }
diff --git 
a/dolphinscheduler-alert/src/test/java/org/apache/dolphinscheduler/alert/utils/PropertyUtilsTest.java
 
b/dolphinscheduler-alert/src/test/java/org/apache/dolphinscheduler/alert/utils/PropertyUtilsTest.java
deleted file mode 100644
index d72c09a..0000000
--- 
a/dolphinscheduler-alert/src/test/java/org/apache/dolphinscheduler/alert/utils/PropertyUtilsTest.java
+++ /dev/null
@@ -1,221 +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.dolphinscheduler.alert.utils;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
-
-import org.apache.dolphinscheduler.common.enums.NodeType;
-import org.apache.dolphinscheduler.common.utils.PropertyUtils;
-
-import org.junit.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Test PropertyUtils
- * and the resource path is src/test/resources/alert.properties.
- */
-public class PropertyUtilsTest {
-
-    private static final Logger logger = 
LoggerFactory.getLogger(PropertyUtilsTest.class);
-
-    /**
-     * Test getString
-     */
-    @Test
-    public void testGetString() {
-
-        //Expected "EMAIL"
-        String result = PropertyUtils.getString("alert.type");
-        logger.info(result);
-        assertEquals("EMAIL", result);
-
-        //Expected "xxx.xxx.test"
-        result = PropertyUtils.getString("mail.server.host");
-        assertEquals("xxx.xxx.test", result);
-
-        //If key is undefine in alert.properties, then return null
-        result = PropertyUtils.getString("abc");
-        assertNull(result);
-
-        //If key is null, then return null
-        result = PropertyUtils.getString(null);
-        assertNull(result);
-    }
-
-
-    /**
-     * Test getBoolean
-     */
-    @Test
-    public void testGetBoolean() {
-
-        //Expected true
-        Boolean result = PropertyUtils.getBoolean("mail.smtp.starttls.enable");
-        assertTrue(result);
-
-        //Expected false
-        result = PropertyUtils.getBoolean("mail.smtp.ssl.enable");
-        assertFalse(result);
-
-        //If key is undefine in alert.properties, then return null
-        result = PropertyUtils.getBoolean("abc");
-        assertFalse(result);
-
-        //If key is null, then return false
-        result = PropertyUtils.getBoolean(null);
-        assertFalse(result);
-    }
-
-    /**
-     * Test getLong
-     */
-    @Test
-    public void testGetLong() {
-
-        //Expected 25
-        long result = PropertyUtils.getLong("mail.server.port");
-        assertSame(25L, result);
-
-        //If key is null, then return -1
-        result = PropertyUtils.getLong(null);
-        assertSame(-1L, result);
-
-        //If key is undefine in alert.properties, then return -1
-        result = PropertyUtils.getLong("abc");
-        assertSame(-1L, result);
-
-        //If key is undefine in alert.properties, and there is a defaultval, 
then return defaultval
-        result = PropertyUtils.getLong("abc", 200);
-        assertEquals(200L, result);
-
-        //If the value can not parse to long ,it will log the error and return 
-1L
-        result = PropertyUtils.getLong("test.server.testnumber");
-        assertSame(-1L, result);
-    }
-
-    /**
-     * Test getDouble
-     */
-    @Test
-    public void testGetDouble() {
-
-        //Expected 3.0
-        double result = PropertyUtils.getDouble("test.server.factor", 3.0);
-        assertEquals(3.0, result, 0);
-
-        //If key is null, then return -1.0
-        result = PropertyUtils.getDouble(null, -1.0);
-        assertEquals(-1.0, result, 0);
-
-        //If key is undefine in alert.properties, then return -1
-        result = PropertyUtils.getDouble("abc", -1.0);
-        assertEquals(-1.0, result, 0);
-
-        //If key is undefine in alert.properties, and there is a defaultval, 
then return defaultval
-        result = PropertyUtils.getDouble("abc", 5.0);
-        assertEquals(5.0, result, 0);
-
-        //If the value can not parse to double ,it will log the error and 
return -1.0
-        result = PropertyUtils.getDouble("test.server.testnumber", -1.0);
-        assertEquals(-1.0, result, 0);
-    }
-
-    /**
-     * Test getArray
-     */
-    @Test
-    public void testGetArray() {
-
-        //Expected length 3
-        String[] result = PropertyUtils.getArray("test.server.list", ",");
-        assertEquals(result.length, 3);
-
-        //Equal array values
-        assertEquals("xxx.xxx.test1", result[0]);
-        assertEquals("xxx.xxx.test2", result[1]);
-        assertEquals("xxx.xxx.test3", result[2]);
-
-        //If key is null, then return -1
-        result = PropertyUtils.getArray(null, ",");
-        assertNull(result);
-
-        //If key is undefine in alert.properties, then return null
-        result = PropertyUtils.getArray("abc", ",");
-        assertNull(result);
-
-        //If splitStr is null, then return null
-        result = PropertyUtils.getArray("test.server.list", null);
-        assertNull(result);
-    }
-
-    /**
-     * test getInt
-     */
-    @Test
-    public void testGetInt() {
-
-        //Expected 25
-        int result = PropertyUtils.getInt("mail.server.port");
-        assertSame(25, result);
-
-        //If key is null, then return -1
-        result = PropertyUtils.getInt(null);
-        assertSame(-1, result);
-
-        //If key is undefine in alert.properties, then return -1
-        result = PropertyUtils.getInt("abc");
-        assertSame(-1, result);
-
-        //If key is undefine in alert.properties, and there is a defaultval, 
then return defaultval
-        result = PropertyUtils.getInt("abc", 300);
-        assertEquals(300, result);
-
-        //If the value can not parse to int ,it will log the error and return 
-1
-        result = PropertyUtils.getInt("test.server.testnumber");
-        assertSame(-1, result);
-    }
-
-    /**
-     * Test getEnum
-     */
-    @Test
-    public void testGetEnum() {
-
-        //Expected MASTER
-        NodeType nodeType = PropertyUtils.getEnum("test.server.enum1", 
NodeType.class, NodeType.WORKER);
-        assertEquals(NodeType.MASTER, nodeType);
-
-        //Expected DEAD_SERVER
-        nodeType = PropertyUtils.getEnum("test.server.enum2", NodeType.class, 
NodeType.WORKER);
-        assertEquals(NodeType.DEAD_SERVER, nodeType);
-
-        //If key is null, then return defaultval
-        nodeType = PropertyUtils.getEnum(null, NodeType.class, 
NodeType.WORKER);
-        assertEquals(NodeType.WORKER, nodeType);
-
-        //If the value doesn't define in enum ,it will log the error and 
return -1
-        nodeType = PropertyUtils.getEnum("test.server.enum3", NodeType.class, 
NodeType.WORKER);
-        assertEquals(NodeType.WORKER, nodeType);
-    }
-
-}
diff --git a/dolphinscheduler-api/pom.xml b/dolphinscheduler-api/pom.xml
index c6c9760..3eea94f 100644
--- a/dolphinscheduler-api/pom.xml
+++ b/dolphinscheduler-api/pom.xml
@@ -254,5 +254,17 @@
             <scope>test</scope>
         </dependency>
 
+        <dependency>
+            <groupId>org.apache.curator</groupId>
+            <artifactId>curator-test</artifactId>
+            <version>${curator.test}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.javassist</groupId>
+                    <artifactId>javassist</artifactId>
+                </exclusion>
+            </exclusions>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
 </project>
diff --git 
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/HttpClientTest.java
 
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/HttpClientTest.java
deleted file mode 100644
index 6753d93..0000000
--- 
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/HttpClientTest.java
+++ /dev/null
@@ -1,157 +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.dolphinscheduler.api;
-
-import org.apache.http.NameValuePair;
-import org.apache.http.client.entity.UrlEncodedFormEntity;
-import org.apache.http.client.methods.CloseableHttpResponse;
-import org.apache.http.client.methods.HttpGet;
-import org.apache.http.client.methods.HttpPost;
-import org.apache.http.client.utils.URIBuilder;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.apache.http.impl.client.HttpClients;
-import org.apache.http.message.BasicNameValuePair;
-import org.apache.http.util.EntityUtils;
-import org.junit.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.List;
-
-public class HttpClientTest {
-
-    private static final Logger logger = 
LoggerFactory.getLogger(HttpClientTest.class);
-
-    @Test
-    public  void doPOSTParam()throws Exception{
-        // create HttpClient
-        CloseableHttpClient httpclient = HttpClients.createDefault();
-
-        // create http post request
-        HttpPost httpPost = new 
HttpPost("http://localhost:12345/dolphinscheduler/projects/create";);
-        httpPost.setHeader("token", "123");
-        // set parameters
-        List<NameValuePair> parameters = new ArrayList<NameValuePair>();
-        parameters.add(new BasicNameValuePair("projectName", "qzw"));
-        parameters.add(new BasicNameValuePair("desc", "qzw"));
-
-        UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(parameters);
-        httpPost.setEntity(formEntity);
-
-
-        CloseableHttpResponse response = null;
-        try {
-            // execute
-            response = httpclient.execute(httpPost);
-            // response status code 200
-            if (response.getStatusLine().getStatusCode() == 200) {
-                String content = EntityUtils.toString(response.getEntity(), 
"UTF-8");
-                logger.info(content);
-            }
-        } finally {
-            if (response != null) {
-                response.close();
-            }
-            httpclient.close();
-        }
-    }
-
-    /**
-     * do get param path variables chinese
-     * @throws Exception
-     */
-    @Test
-    public  void doGETParamPathVariableAndChinese()throws Exception{
-        // create HttpClient
-        CloseableHttpClient httpclient = HttpClients.createDefault();
-
-        List<NameValuePair> parameters = new ArrayList<NameValuePair>();
-       // parameters.add(new BasicNameValuePair("pageSize", "10"));
-
-        // define the parameters of the request
-        URI uri = new 
URIBuilder("http://localhost:12345/dolphinscheduler/projects/%E5%85%A8%E9%83%A8%E6%B5%81%E7%A8%8B%E6%B5%8B%E8%AF%95/process/list";)
-                .build();
-
-        // create http GET request
-        HttpGet httpGet = new HttpGet(uri);
-        httpGet.setHeader("token","10f5625a2a1cbf9aa710653796c5d764");
-        //response object
-        CloseableHttpResponse response = null;
-        try {
-            // execute http get request
-            response = httpclient.execute(httpGet);
-            // response status code 200
-            if (response.getStatusLine().getStatusCode() == 200) {
-                String content = EntityUtils.toString(response.getEntity(), 
"UTF-8");
-                logger.info("start--------------->");
-                logger.info(content);
-                logger.info("end----------------->");
-            }
-        } finally {
-            if (response != null) {
-                response.close();
-            }
-            httpclient.close();
-        }
-    }
-
-    /**
-     *
-     * do get param
-     * @throws Exception
-     */
-    @Test
-    public  void doGETParam()throws Exception{
-        // create HttpClient
-        CloseableHttpClient httpclient = HttpClients.createDefault();
-
-        List<NameValuePair> parameters = new ArrayList<NameValuePair>();
-        parameters.add(new BasicNameValuePair("startDate", "2018-04-22 
19:30:08"));
-        parameters.add(new BasicNameValuePair("endDate", "2028-04-22 
19:30:08"));
-        parameters.add(new BasicNameValuePair("projectId", "0"));
-
-        // define the parameters of the request
-        URI uri = new 
URIBuilder("http://localhost:12345/dolphinscheduler/projects/analysis/queue-count";)
-                 .setParameters(parameters)
-                .build();
-
-        // create http GET request
-        HttpGet httpGet = new HttpGet(uri);
-        httpGet.setHeader("token","2aef24c052c212fab9eec78848c2258b");
-        //response object
-        CloseableHttpResponse response = null;
-        try {
-            // execute http get request
-            response = httpclient.execute(httpGet);
-            // response status code 200
-            if (response.getStatusLine().getStatusCode() == 200) {
-                String content = EntityUtils.toString(response.getEntity(), 
"UTF-8");
-                logger.info("start--------------->");
-                logger.info(content);
-                logger.info("end----------------->");
-            }
-        } finally {
-            if (response != null) {
-                response.close();
-            }
-            httpclient.close();
-        }
-    }
-
-}
diff --git 
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/AbstractControllerTest.java
 
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/AbstractControllerTest.java
index 55f966a..867f342 100644
--- 
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/AbstractControllerTest.java
+++ 
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/AbstractControllerTest.java
@@ -26,17 +26,23 @@ import org.apache.dolphinscheduler.common.enums.ProfileType;
 import org.apache.dolphinscheduler.dao.entity.User;
 
 import org.apache.commons.lang.StringUtils;
+import org.apache.curator.test.TestingServer;
 
 import java.text.MessageFormat;
 import java.util.HashMap;
 import java.util.Map;
 
+import javax.annotation.PostConstruct;
+
 import org.junit.After;
 import org.junit.Assert;
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Profile;
 import org.springframework.test.context.ActiveProfiles;
 import org.springframework.test.context.junit4.SpringRunner;
 import org.springframework.test.web.servlet.MockMvc;
@@ -49,6 +55,7 @@ import org.springframework.web.context.WebApplicationContext;
 @ActiveProfiles(value = {ProfileType.H2})
 @RunWith(SpringRunner.class)
 @SpringBootTest(classes = ApiApplicationServer.class)
+@Ignore
 public class AbstractControllerTest {
 
     public static final String SESSION_ID = "sessionId";
@@ -105,4 +112,14 @@ public class AbstractControllerTest {
             result.put(Constants.MSG, status.getMsg());
         }
     }
+
+    @Configuration
+    @Profile(ProfileType.H2)
+    public static class RegistryServer {
+        @PostConstruct
+        public void startEmbedRegistryServer() throws Exception {
+            final TestingServer server = new TestingServer(true);
+            System.setProperty("registry.servers", server.getConnectString());
+        }
+    }
 }
diff --git 
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/EnvironmentControllerTest.java
 
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/EnvironmentControllerTest.java
index 0b7233b..9842634 100644
--- 
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/EnvironmentControllerTest.java
+++ 
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/EnvironmentControllerTest.java
@@ -40,12 +40,8 @@ import org.springframework.util.MultiValueMap;
 import com.fasterxml.jackson.core.type.TypeReference;
 import com.google.common.base.Preconditions;
 
-/**
- * environment controller test
- */
 public class EnvironmentControllerTest extends AbstractControllerTest {
-
-    private static Logger logger = 
LoggerFactory.getLogger(EnvironmentControllerTest.class);
+    private static final Logger logger = 
LoggerFactory.getLogger(EnvironmentControllerTest.class);
 
     private String environmentCode;
 
@@ -60,6 +56,7 @@ public class EnvironmentControllerTest extends 
AbstractControllerTest {
         testCreateEnvironment();
     }
 
+    @Override
     @After
     public void after() throws Exception {
         testDeleteEnvironment();
diff --git 
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/security/SecurityConfigLDAPTest.java~HEAD
 
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/security/SecurityConfigLDAPTest.java~HEAD
deleted file mode 100644
index a96cec9..0000000
--- 
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/security/SecurityConfigLDAPTest.java~HEAD
+++ /dev/null
@@ -1,45 +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.dolphinscheduler.api.security;
-
-import org.apache.dolphinscheduler.api.ApiApplicationServer;
-
-import org.junit.Assert;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.test.context.TestPropertySource;
-import org.springframework.test.context.junit4.SpringRunner;
-
-@RunWith(SpringRunner.class)
-@SpringBootTest(classes = ApiApplicationServer.class)
-@TestPropertySource(properties = {
-        "security.authentication.type=LDAP",
-})
-public class SecurityConfigLDAPTest {
-
-    @Autowired
-    private SecurityConfig securityConfig;
-
-    @Test
-    public void testAuthenticator() {
-        Authenticator authenticator = securityConfig.authenticator();
-        Assert.assertNotNull(authenticator);
-    }
-}
diff --git 
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/security/SecurityConfigLDAPTest.java~dev
 
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/security/SecurityConfigLDAPTest.java~dev
deleted file mode 100644
index a96cec9..0000000
--- 
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/security/SecurityConfigLDAPTest.java~dev
+++ /dev/null
@@ -1,45 +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.dolphinscheduler.api.security;
-
-import org.apache.dolphinscheduler.api.ApiApplicationServer;
-
-import org.junit.Assert;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.test.context.TestPropertySource;
-import org.springframework.test.context.junit4.SpringRunner;
-
-@RunWith(SpringRunner.class)
-@SpringBootTest(classes = ApiApplicationServer.class)
-@TestPropertySource(properties = {
-        "security.authentication.type=LDAP",
-})
-public class SecurityConfigLDAPTest {
-
-    @Autowired
-    private SecurityConfig securityConfig;
-
-    @Test
-    public void testAuthenticator() {
-        Authenticator authenticator = securityConfig.authenticator();
-        Assert.assertNotNull(authenticator);
-    }
-}
diff --git 
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/security/impl/ldap/LdapAuthenticatorTest.java
 
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/security/impl/ldap/LdapAuthenticatorTest.java
index 9b68148..9fa7aa2 100644
--- 
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/security/impl/ldap/LdapAuthenticatorTest.java
+++ 
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/security/impl/ldap/LdapAuthenticatorTest.java
@@ -79,6 +79,7 @@ public class LdapAuthenticatorTest extends 
AbstractControllerTest {
     private String ip = "127.0.0.1";
     private UserType userType = UserType.GENERAL_USER;
 
+    @Override
     @Before
     public void setUp() {
         ldapAuthenticator = new LdapAuthenticator();
diff --git 
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/security/impl/ldap/LdapServiceTest.java
 
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/security/impl/ldap/LdapServiceTest.java
index 8cd435f..4cfdb0e 100644
--- 
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/security/impl/ldap/LdapServiceTest.java
+++ 
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/security/impl/ldap/LdapServiceTest.java
@@ -18,18 +18,23 @@
 package org.apache.dolphinscheduler.api.security.impl.ldap;
 
 import org.apache.dolphinscheduler.api.ApiApplicationServer;
+import org.apache.dolphinscheduler.common.enums.ProfileType;
 import org.apache.dolphinscheduler.common.enums.UserType;
 
 import org.junit.Assert;
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.config.AutowireCapableBeanFactory;
 import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.ActiveProfiles;
 import org.springframework.test.context.TestPropertySource;
 import org.springframework.test.context.junit4.SpringRunner;
 
+@Ignore
+@ActiveProfiles(ProfileType.H2)
 @RunWith(SpringRunner.class)
 @SpringBootTest(classes = ApiApplicationServer.class)
 @TestPropertySource(
@@ -78,4 +83,4 @@ public class LdapServiceTest {
         String email2 = ldapService.ldapLogin("tesla", "error password");
         Assert.assertNull(email2);
     }
-}
\ No newline at end of file
+}
diff --git 
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/security/impl/pwd/PasswordAuthenticatorTest.java
 
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/security/impl/pwd/PasswordAuthenticatorTest.java
index 2ccc802..b58a4b5 100644
--- 
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/security/impl/pwd/PasswordAuthenticatorTest.java
+++ 
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/security/impl/pwd/PasswordAuthenticatorTest.java
@@ -57,6 +57,7 @@ public class PasswordAuthenticatorTest extends 
AbstractControllerTest {
     private User mockUser;
     private Session mockSession;
 
+    @Override
     @Before
     public void setUp() {
         authenticator = new PasswordAuthenticator();
diff --git 
a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/Constants.java
 
b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/Constants.java
index e0c41e3..0fa0ceb 100644
--- 
a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/Constants.java
+++ 
b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/Constants.java
@@ -1029,12 +1029,6 @@ public final class Constants {
      */
     public static final int AUTHORIZE_READABLE_PERM = 4;
 
-
-    /**
-     * plugin configurations
-     */
-    public static final String PLUGIN_JAR_SUFFIX = ".jar";
-
     public static final int NORMAL_NODE_STATUS = 0;
     public static final int ABNORMAL_NODE_STATUS = 1;
     public static final int BUSY_NODE_STATUE = 2;
@@ -1048,9 +1042,6 @@ public final class Constants {
      */
     public static final String SYSTEM_LINE_SEPARATOR = 
System.getProperty("line.separator");
 
-
-    public static final String EXCEL_SUFFIX_XLS = ".xls";
-
     /**
      * datasource encryption salt
      */
@@ -1087,21 +1078,7 @@ public final class Constants {
      * docker & kubernetes
      */
     public static final boolean DOCKER_MODE = 
!StringUtils.isEmpty(System.getenv("DOCKER"));
-    public static final boolean KUBERNETES_MODE = 
!StringUtils.isEmpty(System.getenv("KUBERNETES_SERVICE_HOST")) && 
!StringUtils.isEmpty(System.getenv("KUBERNETES_SERVICE_PORT"));
-
-    /**
-     * task parameter keys
-     */
-    public static final String TASK_PARAMS = "params";
-    public static final String TASK_PARAMS_DATASOURCE = "datasource";
-    public static final String TASK_PARAMS_DATASOURCE_NAME = "datasourceName";
-    public static final String TASK_DEPENDENCE = "dependence";
-    public static final String TASK_DEPENDENCE_DEPEND_TASK_LIST = 
"dependTaskList";
-    public static final String TASK_DEPENDENCE_DEPEND_ITEM_LIST = 
"dependItemList";
-    public static final String TASK_DEPENDENCE_PROJECT_ID = "projectId";
-    public static final String TASK_DEPENDENCE_PROJECT_NAME = "projectName";
-    public static final String TASK_DEPENDENCE_DEFINITION_ID = "definitionId";
-    public static final String TASK_DEPENDENCE_DEFINITION_NAME = 
"definitionName";
+    public static final Boolean KUBERNETES_MODE = 
!StringUtils.isEmpty(System.getenv("KUBERNETES_SERVICE_HOST")) && 
!StringUtils.isEmpty(System.getenv("KUBERNETES_SERVICE_PORT"));
 
     /**
      * dry run flag
diff --git 
a/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/CommonTest.java
 
b/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/CommonTest.java
deleted file mode 100644
index 3752fe6..0000000
--- 
a/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/CommonTest.java
+++ /dev/null
@@ -1,46 +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.dolphinscheduler.common;
-
-import static org.junit.Assert.assertTrue;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.Modifier;
-
-import org.junit.Test;
-
-/**
- * CommonTest
- */
-public class CommonTest {
-
-    public static void setFinalStatic(Field field, Object newValue) throws 
NoSuchFieldException, IllegalAccessException {
-        field.setAccessible(true);
-        Field modifiersField = Field.class.getDeclaredField("modifiers");
-        modifiersField.setAccessible(true);
-        modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
-        field.set(null, newValue);
-    }
-
-    @Test
-    public void testSetFinalStatic() throws Exception {
-        setFinalStatic(Constants.class.getDeclaredField("KUBERNETES_MODE"), 
true);
-        assertTrue(Constants.KUBERNETES_MODE);
-    }
-
-}
diff --git 
a/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/threadutils/ThreadPoolExecutorsTest.java
 
b/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/threadutils/ThreadPoolExecutorsTest.java
index 9879154..11c114c 100644
--- 
a/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/threadutils/ThreadPoolExecutorsTest.java
+++ 
b/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/threadutils/ThreadPoolExecutorsTest.java
@@ -25,13 +25,10 @@ import org.slf4j.LoggerFactory;
  * Thread Pool Executor Test
  */
 public class ThreadPoolExecutorsTest {
-
     private static final Logger logger = 
LoggerFactory.getLogger(ThreadPoolExecutors.class);
 
-
     @Test
     public void testThreadPoolExecutors() throws InterruptedException {
-
         Thread2[] threadArr = new Thread2[10];
         for (int i = 0; i < threadArr.length; i++) {
 
@@ -43,14 +40,10 @@ public class ThreadPoolExecutorsTest {
         Thread.currentThread().join(40000l);
     }
 
-
-    //test thread
-    class Thread2 extends Thread {
+    static class Thread2 extends Thread {
         @Override
         public void run() {
             logger.info("ThreadPoolExecutors instance's hashcode is: {} 
",ThreadPoolExecutors.getInstance("a",2).hashCode());
         }
     }
-
-
 }
diff --git 
a/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/utils/NetUtilsTest.java
 
b/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/utils/NetUtilsTest.java
index 59dfa2f..cf629ca 100644
--- 
a/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/utils/NetUtilsTest.java
+++ 
b/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/utils/NetUtilsTest.java
@@ -23,17 +23,19 @@ import static org.junit.Assert.assertTrue;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
-import org.apache.dolphinscheduler.common.CommonTest;
 import org.apache.dolphinscheduler.common.Constants;
 
 import java.net.InetAddress;
 
+import org.junit.After;
 import org.junit.Test;
+import org.powermock.reflect.Whitebox;
 
-/**
- * NetUtilsTest
- */
 public class NetUtilsTest {
+    @After
+    public void reset() {
+        Whitebox.setInternalState(Constants.class, "KUBERNETES_MODE", false);
+    }
 
     @Test
     public void testGetAddr() {
@@ -43,31 +45,31 @@ public class NetUtilsTest {
     }
 
     @Test
-    public void testGetHost() throws Exception {
+    public void testGetHost() {
         InetAddress address = mock(InetAddress.class);
         
when(address.getCanonicalHostName()).thenReturn("dolphinscheduler-worker-0.dolphinscheduler-worker-headless.default.svc.cluster.local");
         when(address.getHostName()).thenReturn("dolphinscheduler-worker-0");
         when(address.getHostAddress()).thenReturn("172.17.0.15");
         assertEquals("172.17.0.15", NetUtils.getHost(address));
-        
CommonTest.setFinalStatic(Constants.class.getDeclaredField("KUBERNETES_MODE"), 
true);
+        Whitebox.setInternalState(Constants.class, "KUBERNETES_MODE", true);
         
assertEquals("dolphinscheduler-worker-0.dolphinscheduler-worker-headless", 
NetUtils.getHost(address));
 
         address = mock(InetAddress.class);
         
when(address.getCanonicalHostName()).thenReturn("busybox-1.default-subdomain.my-namespace.svc.cluster-domain.example");
         when(address.getHostName()).thenReturn("busybox-1");
-        
CommonTest.setFinalStatic(Constants.class.getDeclaredField("KUBERNETES_MODE"), 
true);
+        Whitebox.setInternalState(Constants.class, "KUBERNETES_MODE", true);
         assertEquals("busybox-1.default-subdomain", NetUtils.getHost(address));
 
         address = mock(InetAddress.class);
         
when(address.getCanonicalHostName()).thenReturn("dolphinscheduler.cluster-domain.example");
         when(address.getHostName()).thenReturn("dolphinscheduler");
-        
CommonTest.setFinalStatic(Constants.class.getDeclaredField("KUBERNETES_MODE"), 
true);
+        Whitebox.setInternalState(Constants.class, "KUBERNETES_MODE", true);
         assertEquals("dolphinscheduler.cluster-domain.example", 
NetUtils.getHost(address));
 
         address = mock(InetAddress.class);
         
when(address.getCanonicalHostName()).thenReturn("dolphinscheduler-worker-0");
         when(address.getHostName()).thenReturn("dolphinscheduler-worker-0");
-        
CommonTest.setFinalStatic(Constants.class.getDeclaredField("KUBERNETES_MODE"), 
true);
+        Whitebox.setInternalState(Constants.class, "KUBERNETES_MODE", true);
         assertEquals("dolphinscheduler-worker-0", NetUtils.getHost(address));
     }
 
diff --git 
a/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/utils/OSUtilsTest.java
 
b/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/utils/OSUtilsTest.java
deleted file mode 100644
index ef0fe1e..0000000
--- 
a/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/utils/OSUtilsTest.java
+++ /dev/null
@@ -1,112 +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.dolphinscheduler.common.utils;
-
-import org.apache.commons.lang.SystemUtils;
-
-import java.io.IOException;
-import java.util.List;
-
-import org.junit.Assert;
-import org.junit.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class OSUtilsTest {
-    private static final Logger logger = 
LoggerFactory.getLogger(OSUtilsTest.class);
-
-    @Test
-    public void getUserList() {
-        List<String> userList = OSUtils.getUserList();
-        Assert.assertNotEquals("System user list should not be empty", 
userList.size(), 0);
-        logger.info("OS user list : {}", userList.toString());
-    }
-
-    @Test
-    public void testOSMetric() {
-        if (!SystemUtils.IS_OS_WINDOWS) {
-            double availablePhysicalMemorySize = 
OSUtils.availablePhysicalMemorySize();
-            Assert.assertTrue(availablePhysicalMemorySize >= 0.0d);
-            double loadAverage = OSUtils.loadAverage();
-            logger.info("loadAverage {}", loadAverage);
-            double memoryUsage = OSUtils.memoryUsage();
-            Assert.assertTrue(memoryUsage >= 0.0d);
-            double cpuUsage = OSUtils.cpuUsage();
-            Assert.assertTrue(cpuUsage >= 0.0d || cpuUsage == -1.0d);
-        } else {
-            // TODO window ut
-        }
-    }
-
-    @Test
-    public void getGroup() {
-        try {
-            String group = OSUtils.getGroup();
-            Assert.assertNotNull(group);
-        } catch (IOException e) {
-            Assert.fail("get group failed " + e.getMessage());
-        }
-    }
-
-    @Test
-    public void createUser() {
-        boolean result = OSUtils.createUser("test123");
-        if (result) {
-            Assert.assertTrue("create user test123 success", true);
-        } else {
-            Assert.assertTrue("create user test123 fail", true);
-        }
-    }
-
-    @Test
-    public void createUserIfAbsent() {
-        OSUtils.createUserIfAbsent("test123");
-        Assert.assertTrue("create user test123 success", true);
-    }
-
-    @Test
-    public void testGetSudoCmd() {
-        String cmd = "kill -9 1234";
-        String sudoCmd = OSUtils.getSudoCmd("test123", cmd);
-        Assert.assertEquals("sudo -u test123 " + cmd, sudoCmd);
-    }
-
-    @Test
-    public void exeCmd() {
-        if (SystemUtils.IS_OS_MAC || !SystemUtils.IS_OS_WINDOWS) {
-            try {
-                String result = OSUtils.exeCmd("echo helloWorld");
-                Assert.assertEquals("helloWorld\n",result);
-            } catch (IOException e) {
-                Assert.fail("exeCmd " + e.getMessage());
-            }
-        }
-    }
-    @Test
-    public void getProcessID() {
-        int processId = OSUtils.getProcessID();
-        Assert.assertNotEquals(0, processId);
-    }
-    @Test
-    public void checkResource() {
-        boolean resource = OSUtils.checkResource(100,0);
-        Assert.assertTrue(resource);
-        resource = OSUtils.checkResource(0,Double.MAX_VALUE);
-        Assert.assertFalse(resource);
-    }
-
-}
diff --git 
a/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/utils/placeholder/TimePlaceholderUtilsTest.java
 
b/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/utils/placeholder/TimePlaceholderUtilsTest.java
index 68f206d..59b61fd 100644
--- 
a/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/utils/placeholder/TimePlaceholderUtilsTest.java
+++ 
b/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/utils/placeholder/TimePlaceholderUtilsTest.java
@@ -20,15 +20,22 @@ package 
org.apache.dolphinscheduler.common.utils.placeholder;
 import org.apache.dolphinscheduler.common.utils.DateUtils;
 
 import java.util.Date;
+import java.util.TimeZone;
 
 import org.junit.Assert;
 import org.junit.Before;
+import org.junit.BeforeClass;
 import org.junit.Test;
 
 public class TimePlaceholderUtilsTest {
 
     private Date date;
 
+    @BeforeClass
+    public static void setup() {
+        TimeZone.setDefault(TimeZone.getTimeZone("Asia/Shanghai"));
+    }
+
     @Before
     public void init() {
         date = DateUtils.parse("20170101010101", "yyyyMMddHHmmss");
@@ -72,4 +79,4 @@ public class TimePlaceholderUtilsTest {
         Assert.assertEquals("20170101", 
TimePlaceholderUtils.getPlaceHolderTime("yyyyMMdd", date));
     }
 
-}
\ No newline at end of file
+}
diff --git 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/datasource/SpringConnectionFactory.java
 
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/datasource/SpringConnectionFactory.java
index f91914a..8221444 100644
--- 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/datasource/SpringConnectionFactory.java
+++ 
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/datasource/SpringConnectionFactory.java
@@ -152,7 +152,7 @@ public class SpringConnectionFactory {
                     .setType(EmbeddedDatabaseType.H2)
                     .setScriptEncoding(Constants.UTF_8)
                     
.setName("dolphinscheduler;MODE=MySQL;DATABASE_TO_LOWER=TRUE;DB_CLOSE_DELAY=-1")
-                    
.addScript(PropertyUtils.getString("spring.datasource.sql.schema", 
"file:../sql/dolphinscheduler_h2.sql"))
+                    
.addScript(PropertyUtils.getString("spring.datasource.sql.schema", 
"classpath:sql/dolphinscheduler_h2.sql"))
                     .build();
             logger.info("Initialize H2 DataSource success");
         }
diff --git 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/upgrade/UpgradeDao.java
 
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/upgrade/UpgradeDao.java
index ec13a35..560d9a1 100644
--- 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/upgrade/UpgradeDao.java
+++ 
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/upgrade/UpgradeDao.java
@@ -214,7 +214,6 @@ public abstract class UpgradeDao extends AbstractBaseDao {
         if (StringUtils.isEmpty(rootDir)) {
             throw new RuntimeException("Environment variable user.dir not 
found");
         }
-        //String mysqlSQLFilePath = rootDir + 
"/sql/create/release-1.0.0_schema/mysql/dolphinscheduler_ddl.sql";
         String mysqlSQLFilePath = rootDir + initSqlPath + 
"dolphinscheduler_ddl.sql";
         try {
             conn = dataSource.getConnection();
diff --git a/sql/create/release-1.0.0_schema/mysql/dolphinscheduler_ddl.sql 
b/dolphinscheduler-dao/src/main/resources/sql/create/release-1.0.0_schema/mysql/dolphinscheduler_ddl.sql
similarity index 100%
rename from sql/create/release-1.0.0_schema/mysql/dolphinscheduler_ddl.sql
rename to 
dolphinscheduler-dao/src/main/resources/sql/create/release-1.0.0_schema/mysql/dolphinscheduler_ddl.sql
diff --git a/sql/create/release-1.0.0_schema/mysql/dolphinscheduler_dml.sql 
b/dolphinscheduler-dao/src/main/resources/sql/create/release-1.0.0_schema/mysql/dolphinscheduler_dml.sql
similarity index 100%
rename from sql/create/release-1.0.0_schema/mysql/dolphinscheduler_dml.sql
rename to 
dolphinscheduler-dao/src/main/resources/sql/create/release-1.0.0_schema/mysql/dolphinscheduler_dml.sql
diff --git 
a/sql/create/release-1.2.0_schema/postgresql/dolphinscheduler_ddl.sql 
b/dolphinscheduler-dao/src/main/resources/sql/create/release-1.2.0_schema/postgresql/dolphinscheduler_ddl.sql
similarity index 100%
rename from sql/create/release-1.2.0_schema/postgresql/dolphinscheduler_ddl.sql
rename to 
dolphinscheduler-dao/src/main/resources/sql/create/release-1.2.0_schema/postgresql/dolphinscheduler_ddl.sql
diff --git 
a/sql/create/release-1.2.0_schema/postgresql/dolphinscheduler_dml.sql 
b/dolphinscheduler-dao/src/main/resources/sql/create/release-1.2.0_schema/postgresql/dolphinscheduler_dml.sql
similarity index 100%
rename from sql/create/release-1.2.0_schema/postgresql/dolphinscheduler_dml.sql
rename to 
dolphinscheduler-dao/src/main/resources/sql/create/release-1.2.0_schema/postgresql/dolphinscheduler_dml.sql
diff --git a/sql/dolphinscheduler_h2.sql 
b/dolphinscheduler-dao/src/main/resources/sql/dolphinscheduler_h2.sql
similarity index 100%
rename from sql/dolphinscheduler_h2.sql
rename to dolphinscheduler-dao/src/main/resources/sql/dolphinscheduler_h2.sql
diff --git a/sql/dolphinscheduler_mysql.sql 
b/dolphinscheduler-dao/src/main/resources/sql/dolphinscheduler_mysql.sql
similarity index 100%
rename from sql/dolphinscheduler_mysql.sql
rename to dolphinscheduler-dao/src/main/resources/sql/dolphinscheduler_mysql.sql
diff --git a/sql/dolphinscheduler_postgre.sql 
b/dolphinscheduler-dao/src/main/resources/sql/dolphinscheduler_postgre.sql
similarity index 100%
rename from sql/dolphinscheduler_postgre.sql
rename to 
dolphinscheduler-dao/src/main/resources/sql/dolphinscheduler_postgre.sql
diff --git a/sql/soft_version 
b/dolphinscheduler-dao/src/main/resources/sql/soft_version
similarity index 100%
rename from sql/soft_version
rename to dolphinscheduler-dao/src/main/resources/sql/soft_version
diff --git a/sql/upgrade/1.0.1_schema/mysql/dolphinscheduler_ddl.sql 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/1.0.1_schema/mysql/dolphinscheduler_ddl.sql
similarity index 100%
rename from sql/upgrade/1.0.1_schema/mysql/dolphinscheduler_ddl.sql
rename to 
dolphinscheduler-dao/src/main/resources/sql/upgrade/1.0.1_schema/mysql/dolphinscheduler_ddl.sql
diff --git a/sql/upgrade/2.0.0_schema/postgresql/dolphinscheduler_dml.sql 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/1.0.1_schema/mysql/dolphinscheduler_dml.sql
similarity index 100%
rename from sql/upgrade/2.0.0_schema/postgresql/dolphinscheduler_dml.sql
rename to 
dolphinscheduler-dao/src/main/resources/sql/upgrade/1.0.1_schema/mysql/dolphinscheduler_dml.sql
diff --git a/sql/upgrade/1.0.2_schema/mysql/dolphinscheduler_ddl.sql 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/1.0.2_schema/mysql/dolphinscheduler_ddl.sql
similarity index 100%
rename from sql/upgrade/1.0.2_schema/mysql/dolphinscheduler_ddl.sql
rename to 
dolphinscheduler-dao/src/main/resources/sql/upgrade/1.0.2_schema/mysql/dolphinscheduler_ddl.sql
diff --git a/sql/upgrade/1.0.2_schema/mysql/dolphinscheduler_dml.sql 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/1.0.2_schema/mysql/dolphinscheduler_dml.sql
similarity index 100%
rename from sql/upgrade/1.0.2_schema/mysql/dolphinscheduler_dml.sql
rename to 
dolphinscheduler-dao/src/main/resources/sql/upgrade/1.0.2_schema/mysql/dolphinscheduler_dml.sql
diff --git a/sql/upgrade/1.1.0_schema/mysql/dolphinscheduler_ddl.sql 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/1.1.0_schema/mysql/dolphinscheduler_ddl.sql
similarity index 100%
rename from sql/upgrade/1.1.0_schema/mysql/dolphinscheduler_ddl.sql
rename to 
dolphinscheduler-dao/src/main/resources/sql/upgrade/1.1.0_schema/mysql/dolphinscheduler_ddl.sql
diff --git a/sql/upgrade/2.0.0_schema/mysql/dolphinscheduler_dml.sql 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/1.1.0_schema/mysql/dolphinscheduler_dml.sql
similarity index 100%
rename from sql/upgrade/2.0.0_schema/mysql/dolphinscheduler_dml.sql
rename to 
dolphinscheduler-dao/src/main/resources/sql/upgrade/1.1.0_schema/mysql/dolphinscheduler_dml.sql
diff --git a/sql/upgrade/1.2.0_schema/mysql/dolphinscheduler_ddl.sql 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/1.2.0_schema/mysql/dolphinscheduler_ddl.sql
similarity index 100%
rename from sql/upgrade/1.2.0_schema/mysql/dolphinscheduler_ddl.sql
rename to 
dolphinscheduler-dao/src/main/resources/sql/upgrade/1.2.0_schema/mysql/dolphinscheduler_ddl.sql
diff --git a/sql/upgrade/1.2.0_schema/mysql/dolphinscheduler_dml.sql 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/1.2.0_schema/mysql/dolphinscheduler_dml.sql
similarity index 100%
rename from sql/upgrade/1.2.0_schema/mysql/dolphinscheduler_dml.sql
rename to 
dolphinscheduler-dao/src/main/resources/sql/upgrade/1.2.0_schema/mysql/dolphinscheduler_dml.sql
diff --git a/sql/upgrade/1.3.2_schema/postgresql/dolphinscheduler_ddl.sql 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/1.2.0_schema/postgresql/dolphinscheduler_ddl.sql
similarity index 100%
rename from sql/upgrade/1.3.2_schema/postgresql/dolphinscheduler_ddl.sql
rename to 
dolphinscheduler-dao/src/main/resources/sql/upgrade/1.2.0_schema/postgresql/dolphinscheduler_ddl.sql
diff --git a/sql/upgrade/1.3.7_schema/postgresql/dolphinscheduler_dml.sql 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/1.2.0_schema/postgresql/dolphinscheduler_dml.sql
similarity index 100%
rename from sql/upgrade/1.3.7_schema/postgresql/dolphinscheduler_dml.sql
rename to 
dolphinscheduler-dao/src/main/resources/sql/upgrade/1.2.0_schema/postgresql/dolphinscheduler_dml.sql
diff --git a/sql/upgrade/1.3.0_schema/mysql/dolphinscheduler_ddl.sql 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/1.3.0_schema/mysql/dolphinscheduler_ddl.sql
similarity index 100%
rename from sql/upgrade/1.3.0_schema/mysql/dolphinscheduler_ddl.sql
rename to 
dolphinscheduler-dao/src/main/resources/sql/upgrade/1.3.0_schema/mysql/dolphinscheduler_ddl.sql
diff --git a/sql/upgrade/1.3.0_schema/mysql/dolphinscheduler_dml.sql 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/1.3.0_schema/mysql/dolphinscheduler_dml.sql
similarity index 100%
rename from sql/upgrade/1.3.0_schema/mysql/dolphinscheduler_dml.sql
rename to 
dolphinscheduler-dao/src/main/resources/sql/upgrade/1.3.0_schema/mysql/dolphinscheduler_dml.sql
diff --git a/sql/upgrade/1.3.0_schema/postgresql/dolphinscheduler_ddl.sql 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/1.3.0_schema/postgresql/dolphinscheduler_ddl.sql
similarity index 100%
rename from sql/upgrade/1.3.0_schema/postgresql/dolphinscheduler_ddl.sql
rename to 
dolphinscheduler-dao/src/main/resources/sql/upgrade/1.3.0_schema/postgresql/dolphinscheduler_ddl.sql
diff --git a/sql/upgrade/1.3.0_schema/postgresql/dolphinscheduler_dml.sql 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/1.3.0_schema/postgresql/dolphinscheduler_dml.sql
similarity index 100%
rename from sql/upgrade/1.3.0_schema/postgresql/dolphinscheduler_dml.sql
rename to 
dolphinscheduler-dao/src/main/resources/sql/upgrade/1.3.0_schema/postgresql/dolphinscheduler_dml.sql
diff --git a/sql/upgrade/1.3.2_schema/mysql/dolphinscheduler_ddl.sql 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/1.3.2_schema/mysql/dolphinscheduler_ddl.sql
similarity index 100%
rename from sql/upgrade/1.3.2_schema/mysql/dolphinscheduler_ddl.sql
rename to 
dolphinscheduler-dao/src/main/resources/sql/upgrade/1.3.2_schema/mysql/dolphinscheduler_ddl.sql
diff --git a/sql/upgrade/1.3.2_schema/mysql/dolphinscheduler_dml.sql 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/1.3.2_schema/mysql/dolphinscheduler_dml.sql
similarity index 100%
rename from sql/upgrade/1.3.2_schema/mysql/dolphinscheduler_dml.sql
rename to 
dolphinscheduler-dao/src/main/resources/sql/upgrade/1.3.2_schema/mysql/dolphinscheduler_dml.sql
diff --git a/sql/upgrade/1.2.0_schema/postgresql/dolphinscheduler_ddl.sql 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/1.3.2_schema/postgresql/dolphinscheduler_ddl.sql
similarity index 100%
rename from sql/upgrade/1.2.0_schema/postgresql/dolphinscheduler_ddl.sql
rename to 
dolphinscheduler-dao/src/main/resources/sql/upgrade/1.3.2_schema/postgresql/dolphinscheduler_ddl.sql
diff --git a/sql/upgrade/1.3.2_schema/postgresql/dolphinscheduler_dml.sql 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/1.3.2_schema/postgresql/dolphinscheduler_dml.sql
similarity index 100%
rename from sql/upgrade/1.3.2_schema/postgresql/dolphinscheduler_dml.sql
rename to 
dolphinscheduler-dao/src/main/resources/sql/upgrade/1.3.2_schema/postgresql/dolphinscheduler_dml.sql
diff --git a/sql/upgrade/1.3.3_schema/mysql/dolphinscheduler_ddl.sql 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/1.3.3_schema/mysql/dolphinscheduler_ddl.sql
similarity index 100%
rename from sql/upgrade/1.3.3_schema/mysql/dolphinscheduler_ddl.sql
rename to 
dolphinscheduler-dao/src/main/resources/sql/upgrade/1.3.3_schema/mysql/dolphinscheduler_ddl.sql
diff --git a/sql/upgrade/1.3.7_schema/mysql/dolphinscheduler_dml.sql 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/1.3.3_schema/mysql/dolphinscheduler_dml.sql
similarity index 100%
rename from sql/upgrade/1.3.7_schema/mysql/dolphinscheduler_dml.sql
rename to 
dolphinscheduler-dao/src/main/resources/sql/upgrade/1.3.3_schema/mysql/dolphinscheduler_dml.sql
diff --git a/sql/upgrade/1.3.3_schema/postgresql/dolphinscheduler_ddl.sql 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/1.3.3_schema/postgresql/dolphinscheduler_ddl.sql
similarity index 100%
rename from sql/upgrade/1.3.3_schema/postgresql/dolphinscheduler_ddl.sql
rename to 
dolphinscheduler-dao/src/main/resources/sql/upgrade/1.3.3_schema/postgresql/dolphinscheduler_ddl.sql
diff --git a/sql/upgrade/1.3.6_schema/postgresql/dolphinscheduler_dml.sql 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/1.3.3_schema/postgresql/dolphinscheduler_dml.sql
similarity index 100%
rename from sql/upgrade/1.3.6_schema/postgresql/dolphinscheduler_dml.sql
rename to 
dolphinscheduler-dao/src/main/resources/sql/upgrade/1.3.3_schema/postgresql/dolphinscheduler_dml.sql
diff --git a/sql/upgrade/1.3.5_schema/mysql/dolphinscheduler_ddl.sql 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/1.3.5_schema/mysql/dolphinscheduler_ddl.sql
similarity index 100%
rename from sql/upgrade/1.3.5_schema/mysql/dolphinscheduler_ddl.sql
rename to 
dolphinscheduler-dao/src/main/resources/sql/upgrade/1.3.5_schema/mysql/dolphinscheduler_ddl.sql
diff --git a/sql/upgrade/1.3.6_schema/mysql/dolphinscheduler_dml.sql 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/1.3.5_schema/mysql/dolphinscheduler_dml.sql
similarity index 100%
rename from sql/upgrade/1.3.6_schema/mysql/dolphinscheduler_dml.sql
rename to 
dolphinscheduler-dao/src/main/resources/sql/upgrade/1.3.5_schema/mysql/dolphinscheduler_dml.sql
diff --git a/sql/upgrade/1.3.5_schema/postgresql/dolphinscheduler_ddl.sql 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/1.3.5_schema/postgresql/dolphinscheduler_ddl.sql
similarity index 100%
rename from sql/upgrade/1.3.5_schema/postgresql/dolphinscheduler_ddl.sql
rename to 
dolphinscheduler-dao/src/main/resources/sql/upgrade/1.3.5_schema/postgresql/dolphinscheduler_ddl.sql
diff --git a/sql/upgrade/1.3.5_schema/postgresql/dolphinscheduler_dml.sql 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/1.3.5_schema/postgresql/dolphinscheduler_dml.sql
similarity index 100%
rename from sql/upgrade/1.3.5_schema/postgresql/dolphinscheduler_dml.sql
rename to 
dolphinscheduler-dao/src/main/resources/sql/upgrade/1.3.5_schema/postgresql/dolphinscheduler_dml.sql
diff --git a/sql/upgrade/1.3.6_schema/mysql/dolphinscheduler_ddl.sql 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/1.3.6_schema/mysql/dolphinscheduler_ddl.sql
similarity index 100%
rename from sql/upgrade/1.3.6_schema/mysql/dolphinscheduler_ddl.sql
rename to 
dolphinscheduler-dao/src/main/resources/sql/upgrade/1.3.6_schema/mysql/dolphinscheduler_ddl.sql
diff --git a/sql/upgrade/1.3.5_schema/mysql/dolphinscheduler_dml.sql 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/1.3.6_schema/mysql/dolphinscheduler_dml.sql
similarity index 100%
rename from sql/upgrade/1.3.5_schema/mysql/dolphinscheduler_dml.sql
rename to 
dolphinscheduler-dao/src/main/resources/sql/upgrade/1.3.6_schema/mysql/dolphinscheduler_dml.sql
diff --git a/sql/upgrade/1.3.6_schema/postgresql/dolphinscheduler_ddl.sql 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/1.3.6_schema/postgresql/dolphinscheduler_ddl.sql
similarity index 100%
rename from sql/upgrade/1.3.6_schema/postgresql/dolphinscheduler_ddl.sql
rename to 
dolphinscheduler-dao/src/main/resources/sql/upgrade/1.3.6_schema/postgresql/dolphinscheduler_ddl.sql
diff --git a/sql/upgrade/1.3.3_schema/postgresql/dolphinscheduler_dml.sql 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/1.3.6_schema/postgresql/dolphinscheduler_dml.sql
similarity index 100%
rename from sql/upgrade/1.3.3_schema/postgresql/dolphinscheduler_dml.sql
rename to 
dolphinscheduler-dao/src/main/resources/sql/upgrade/1.3.6_schema/postgresql/dolphinscheduler_dml.sql
diff --git a/sql/upgrade/1.3.7_schema/mysql/dolphinscheduler_ddl.sql 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/1.3.7_schema/mysql/dolphinscheduler_ddl.sql
similarity index 100%
rename from sql/upgrade/1.3.7_schema/mysql/dolphinscheduler_ddl.sql
rename to 
dolphinscheduler-dao/src/main/resources/sql/upgrade/1.3.7_schema/mysql/dolphinscheduler_ddl.sql
diff --git a/sql/upgrade/1.3.3_schema/mysql/dolphinscheduler_dml.sql 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/1.3.7_schema/mysql/dolphinscheduler_dml.sql
similarity index 100%
rename from sql/upgrade/1.3.3_schema/mysql/dolphinscheduler_dml.sql
rename to 
dolphinscheduler-dao/src/main/resources/sql/upgrade/1.3.7_schema/mysql/dolphinscheduler_dml.sql
diff --git a/sql/upgrade/1.3.7_schema/postgresql/dolphinscheduler_ddl.sql 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/1.3.7_schema/postgresql/dolphinscheduler_ddl.sql
similarity index 100%
rename from sql/upgrade/1.3.7_schema/postgresql/dolphinscheduler_ddl.sql
rename to 
dolphinscheduler-dao/src/main/resources/sql/upgrade/1.3.7_schema/postgresql/dolphinscheduler_ddl.sql
diff --git a/sql/upgrade/1.2.0_schema/postgresql/dolphinscheduler_dml.sql 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/1.3.7_schema/postgresql/dolphinscheduler_dml.sql
similarity index 100%
rename from sql/upgrade/1.2.0_schema/postgresql/dolphinscheduler_dml.sql
rename to 
dolphinscheduler-dao/src/main/resources/sql/upgrade/1.3.7_schema/postgresql/dolphinscheduler_dml.sql
diff --git a/sql/upgrade/2.0.0_schema/mysql/dolphinscheduler_ddl.sql 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/2.0.0_schema/mysql/dolphinscheduler_ddl.sql
similarity index 100%
rename from sql/upgrade/2.0.0_schema/mysql/dolphinscheduler_ddl.sql
rename to 
dolphinscheduler-dao/src/main/resources/sql/upgrade/2.0.0_schema/mysql/dolphinscheduler_ddl.sql
diff --git a/sql/upgrade/2.0.0_schema/mysql/dolphinscheduler_ddl_post.sql 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/2.0.0_schema/mysql/dolphinscheduler_ddl_post.sql
similarity index 100%
rename from sql/upgrade/2.0.0_schema/mysql/dolphinscheduler_ddl_post.sql
rename to 
dolphinscheduler-dao/src/main/resources/sql/upgrade/2.0.0_schema/mysql/dolphinscheduler_ddl_post.sql
diff --git a/sql/upgrade/1.1.0_schema/mysql/dolphinscheduler_dml.sql 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/2.0.0_schema/mysql/dolphinscheduler_dml.sql
similarity index 100%
rename from sql/upgrade/1.1.0_schema/mysql/dolphinscheduler_dml.sql
rename to 
dolphinscheduler-dao/src/main/resources/sql/upgrade/2.0.0_schema/mysql/dolphinscheduler_dml.sql
diff --git a/sql/upgrade/2.0.0_schema/postgresql/dolphinscheduler_ddl.sql 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/2.0.0_schema/postgresql/dolphinscheduler_ddl.sql
similarity index 100%
rename from sql/upgrade/2.0.0_schema/postgresql/dolphinscheduler_ddl.sql
rename to 
dolphinscheduler-dao/src/main/resources/sql/upgrade/2.0.0_schema/postgresql/dolphinscheduler_ddl.sql
diff --git a/sql/upgrade/2.0.0_schema/postgresql/dolphinscheduler_ddl_post.sql 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/2.0.0_schema/postgresql/dolphinscheduler_ddl_post.sql
similarity index 100%
rename from sql/upgrade/2.0.0_schema/postgresql/dolphinscheduler_ddl_post.sql
rename to 
dolphinscheduler-dao/src/main/resources/sql/upgrade/2.0.0_schema/postgresql/dolphinscheduler_ddl_post.sql
diff --git a/sql/upgrade/1.0.1_schema/mysql/dolphinscheduler_dml.sql 
b/dolphinscheduler-dao/src/main/resources/sql/upgrade/2.0.0_schema/postgresql/dolphinscheduler_dml.sql
similarity index 100%
rename from sql/upgrade/1.0.1_schema/mysql/dolphinscheduler_dml.sql
rename to 
dolphinscheduler-dao/src/main/resources/sql/upgrade/2.0.0_schema/postgresql/dolphinscheduler_dml.sql
diff --git 
a/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/AlertDaoTest.java
 
b/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/AlertDaoTest.java
index de6a3b0..abc56ca 100644
--- 
a/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/AlertDaoTest.java
+++ 
b/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/AlertDaoTest.java
@@ -23,15 +23,15 @@ import org.apache.dolphinscheduler.dao.entity.Alert;
 import java.util.List;
 
 import org.junit.Assert;
-import org.junit.Before;
+import org.junit.BeforeClass;
 import org.junit.Test;
 import org.springframework.transaction.annotation.Transactional;
 
 @Transactional
 public class AlertDaoTest {
 
-    @Before
-    public void setUp() {
+    @BeforeClass
+    public static void setUp() {
         System.setProperty("spring.profiles.active", "h2");
     }
 
@@ -60,9 +60,9 @@ public class AlertDaoTest {
         alertDao.sendServerStopedAlert(alertGroupId, host, serverType);
         alertDao.sendServerStopedAlert(alertGroupId, host, serverType);
         long count = alertDao.listWaitExecutionAlert()
-                .stream()
-                .filter(alert -> alert.getContent().contains(host))
-                .count();
+                             .stream()
+                             .filter(alert -> 
alert.getContent().contains(host))
+                             .count();
         Assert.assertEquals(1L, count);
     }
 }
diff --git 
a/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/ConnectionFactoryTest.java
 
b/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/ConnectionFactoryTest.java
index 8f65147..a2a9c15 100644
--- 
a/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/ConnectionFactoryTest.java
+++ 
b/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/ConnectionFactoryTest.java
@@ -17,22 +17,23 @@
 package org.apache.dolphinscheduler.dao.mapper;
 
 import org.apache.dolphinscheduler.dao.datasource.ConnectionFactory;
-import org.junit.Assert;
-import org.junit.Test;
 
 import java.sql.Connection;
 
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
 
 public class ConnectionFactoryTest {
+    @BeforeClass
+    public static void setup() {
+        System.setProperty("spring.profiles.active", "h2");
+    }
 
-    /**
-     * test connection
-     * @throws Exception if error throws Exception
-     */
     @Test
-    public void testConnection()throws Exception{
-        System.setProperty("spring.profiles.active", "h2");
+    public void testConnection() throws Exception {
         Connection connection = 
ConnectionFactory.getInstance().getDataSource().getConnection();
         Assert.assertTrue(connection != null);
     }
-}
\ No newline at end of file
+}
diff --git 
a/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/upgrade/ProcessDefinitionDaoTest.java
 
b/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/upgrade/ProcessDefinitionDaoTest.java
index f27a772..e2078f7 100644
--- 
a/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/upgrade/ProcessDefinitionDaoTest.java
+++ 
b/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/upgrade/ProcessDefinitionDaoTest.java
@@ -24,15 +24,15 @@ import java.util.Map;
 
 import javax.sql.DataSource;
 
-import org.junit.Before;
+import org.junit.BeforeClass;
 import org.junit.Test;
 
 public class ProcessDefinitionDaoTest {
-    DataSource dataSource;
+    static DataSource dataSource;
     final ProcessDefinitionDao processDefinitionDao = new 
ProcessDefinitionDao();
 
-    @Before
-    public void seuUp() {
+    @BeforeClass
+    public static void seuUp() {
         System.setProperty("spring.profiles.active", "h2");
         dataSource = getDataSource();
     }
diff --git 
a/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/upgrade/UpgradeDaoTest.java
 
b/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/upgrade/UpgradeDaoTest.java
index 17d5a35..e7f9211 100644
--- 
a/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/upgrade/UpgradeDaoTest.java
+++ 
b/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/upgrade/UpgradeDaoTest.java
@@ -16,14 +16,19 @@
  */
 package org.apache.dolphinscheduler.dao.upgrade;
 
+import org.junit.BeforeClass;
 import org.junit.Test;
 
 public class UpgradeDaoTest {
     private PostgresqlUpgradeDao postgresqlUpgradeDao;
 
+    @BeforeClass
+    public static void setUpClass() {
+        System.setProperty("spring.profiles.active", "h2");
+    }
+
     @Test
     public void setUp() {
-        System.setProperty("spring.profiles.active", "h2");
         postgresqlUpgradeDao = PostgresqlUpgradeDao.getInstance();
     }
 
diff --git 
a/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/upgrade/WorkerGroupDaoTest.java
 
b/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/upgrade/WorkerGroupDaoTest.java
index 7eed867..44bdccf 100644
--- 
a/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/upgrade/WorkerGroupDaoTest.java
+++ 
b/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/upgrade/WorkerGroupDaoTest.java
@@ -25,10 +25,22 @@ import java.util.Map;
 
 import javax.sql.DataSource;
 
+import org.junit.Before;
+import org.junit.BeforeClass;
 import org.junit.Test;
 
 public class WorkerGroupDaoTest {
-    protected final DataSource dataSource = getDataSource();
+    protected DataSource dataSource;
+
+    @BeforeClass
+    public static void setupClass() {
+        System.setProperty("spring.profiles.active", "h2");
+    }
+
+    @Before
+    public void setup() {
+        dataSource = getDataSource();
+    }
 
     @Test
     public void testQueryQueryAllOldWorkerGroup() throws Exception {
diff --git a/dolphinscheduler-dist/pom.xml b/dolphinscheduler-dist/pom.xml
index 1c82132..877665a 100644
--- a/dolphinscheduler-dist/pom.xml
+++ b/dolphinscheduler-dist/pom.xml
@@ -328,7 +328,7 @@
                                     <sources>
                                         <source>
                                             <location>
-                                                ${basedir}/../sql
+                                                
${basedir}/../dolphinscheduler-dao/src/main/resources/sql
                                             </location>
                                             <includes>
                                                 <include>**/*.*</include>
@@ -336,7 +336,7 @@
                                         </source>
                                         <source>
                                             <location>
-                                                ${basedir}/../sql
+                                                
${basedir}/../dolphinscheduler-dao/src/main/resources/sql
                                             </location>
                                             <includes>
                                                 <include>soft_version</include>
diff --git a/dolphinscheduler-dist/src/main/assembly/dolphinscheduler-bin.xml 
b/dolphinscheduler-dist/src/main/assembly/dolphinscheduler-bin.xml
index c918aef..11e0487 100644
--- a/dolphinscheduler-dist/src/main/assembly/dolphinscheduler-bin.xml
+++ b/dolphinscheduler-dist/src/main/assembly/dolphinscheduler-bin.xml
@@ -147,7 +147,7 @@
         </fileSet>
 
         <fileSet>
-            <directory>${basedir}/../sql</directory>
+            
<directory>${basedir}/../dolphinscheduler-dao/src/main/resources/sql</directory>
             <includes>
                 <include>**/*</include>
             </includes>
diff --git 
a/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/WorkflowExecuteThreadTest.java
 
b/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/WorkflowExecuteThreadTest.java
index aa8102e..6e2dda0 100644
--- 
a/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/WorkflowExecuteThreadTest.java
+++ 
b/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/WorkflowExecuteThreadTest.java
@@ -77,7 +77,7 @@ public class WorkflowExecuteThreadTest {
 
     private ProcessService processService;
 
-    private int processDefinitionId = 1;
+    private final int processDefinitionId = 1;
 
     private MasterConfig config;
 
@@ -112,44 +112,9 @@ public class WorkflowExecuteThreadTest {
         Field dag = WorkflowExecuteThread.class.getDeclaredField("dag");
         dag.setAccessible(true);
         dag.set(workflowExecuteThread, new DAG());
-        PowerMockito.doNothing().when(workflowExecuteThread, "prepareProcess");
         PowerMockito.doNothing().when(workflowExecuteThread, "endProcess");
     }
 
-    /**
-     * without schedule
-     */
-    @Test
-    public void testParallelWithOutSchedule() throws ParseException {
-        try {
-            
Mockito.when(processService.queryReleaseSchedulerListByProcessDefinitionCode(processDefinitionId)).thenReturn(zeroSchedulerList());
-            Method method = 
WorkflowExecuteThread.class.getDeclaredMethod("executeComplementProcess");
-            method.setAccessible(true);
-            method.invoke(workflowExecuteThread);
-            // 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.fail();
-        }
-    }
-
-    /**
-     * with schedule
-     */
-    @Test
-    public void testParallelWithSchedule() {
-        try {
-            
Mockito.when(processService.queryReleaseSchedulerListByProcessDefinitionCode(processDefinitionId)).thenReturn(oneSchedulerList());
-            Method method = 
WorkflowExecuteThread.class.getDeclaredMethod("executeComplementProcess");
-            method.setAccessible(true);
-            method.invoke(workflowExecuteThread);
-            // one create save, and 9(1 to 20 step 2) for next save, and last 
day 31 no save
-            verify(processService, 
times(20)).saveProcessInstance(processInstance);
-        } catch (Exception e) {
-            Assert.fail();
-        }
-    }
 
     @Test
     public void testParseStartNodeName() throws ParseException {
@@ -168,23 +133,6 @@ public class WorkflowExecuteThreadTest {
     }
 
     @Test
-    public void testRetryTaskIntervalOverTime() {
-        try {
-            TaskInstance taskInstance = new TaskInstance();
-            taskInstance.setId(0);
-            taskInstance.setMaxRetryTimes(0);
-            taskInstance.setRetryInterval(0);
-            taskInstance.setState(ExecutionStatus.FAILURE);
-            Class<WorkflowExecuteThread> masterExecThreadClass = 
WorkflowExecuteThread.class;
-            Method method = 
masterExecThreadClass.getDeclaredMethod("retryTaskIntervalOverTime", 
TaskInstance.class);
-            method.setAccessible(true);
-            Assert.assertTrue((Boolean) method.invoke(workflowExecuteThread, 
taskInstance));
-        } catch (Exception e) {
-            Assert.fail();
-        }
-    }
-
-    @Test
     public void testGetStartTaskInstanceList() {
         try {
             TaskInstance taskInstance1 = new TaskInstance();
diff --git 
a/dolphinscheduler-standalone-server/src/main/java/org/apache/dolphinscheduler/server/StandaloneServer.java
 
b/dolphinscheduler-standalone-server/src/main/java/org/apache/dolphinscheduler/server/StandaloneServer.java
index 28f04df..50247b6 100644
--- 
a/dolphinscheduler-standalone-server/src/main/java/org/apache/dolphinscheduler/server/StandaloneServer.java
+++ 
b/dolphinscheduler-standalone-server/src/main/java/org/apache/dolphinscheduler/server/StandaloneServer.java
@@ -38,7 +38,7 @@ public class StandaloneServer {
         Thread.currentThread().setName("Standalone-Server");
 
         System.setProperty("spring.profiles.active", "api,h2");
-        System.setProperty("spring.datasource.sql.schema", 
"file:./sql/dolphinscheduler_h2.sql");
+        System.setProperty("spring.datasource.sql.schema", 
"classpath:sql/dolphinscheduler_h2.sql");
 
         startRegistry();
 
diff --git a/pom.xml b/pom.xml
index a475181..bfc5f6c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -16,7 +16,7 @@
   ~ limitations under the License.
   -->
 <project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.dolphinscheduler</groupId>
     <artifactId>dolphinscheduler</artifactId>
@@ -129,6 +129,7 @@
         <java-websocket.version>1.5.1</java-websocket.version>
         <py4j.version>0.10.9</py4j.version>
         <auto-service.version>1.0.1</auto-service.version>
+        <jacoco.skip>false</jacoco.skip>
     </properties>
 
     <dependencyManagement>
@@ -884,268 +885,6 @@
                     <systemPropertyVariables>
                         
<jacoco-agent.destfile>${project.build.directory}/jacoco.exec</jacoco-agent.destfile>
                     </systemPropertyVariables>
-                    <includes>
-                        <!--registry plugin -->
-                        
<include>**/plugin/registry/zookeeper/ZookeeperRegistryTest.java</include>
-                        <!-- API -->
-                        
<include>**/api/controller/ProjectControllerTest.java</include>
-                        
<include>**/api/controller/QueueControllerTest.java</include>
-                        
<include>**/api/configuration/TrafficConfigurationTest.java</include>
-                        
<include>**/api/controller/ProcessDefinitionControllerTest.java</include>
-                        
<include>**/api/controller/TenantControllerTest.java</include>
-                        
<include>**/api/controller/SchedulerControllerTest.java</include>
-                        
<include>**/api/dto/resources/filter/ResourceFilterTest.java</include>
-                        
<include>**/api/dto/resources/visitor/ResourceTreeVisitorTest.java</include>
-                        
<includeDataxTaskTest>**/api/enums/testGetEnum.java</includeDataxTaskTest>
-                        <include>**/api/enums/StatusTest.java</include>
-                        
<include>**/api/exceptions/ApiExceptionHandlerTest.java</include>
-                        
<include>**/api/exceptions/ServiceExceptionTest.java</include>
-                        
<include>**/api/interceptor/LocaleChangeInterceptorTest.java</include>
-                        
<include>**/api/interceptor/LoginHandlerInterceptorTest.java</include>
-                        
<include>**/api/interceptor/RateLimitInterceptorTest.java</include>
-                        
<include>**/api/security/impl/pwd/PasswordAuthenticatorTest.java</include>
-                        
<include>**/api/security/impl/ldap/LdapAuthenticatorTest.java</include>
-                        
<include>**/api/security/SecurityConfigLDAPTest.java</include>
-                        
<include>**/api/security/SecurityConfigPasswordTest.java</include>
-                        
<include>**/api/service/AccessTokenServiceTest.java</include>
-                        
<include>**/api/service/AlertGroupServiceTest.java</include>
-                        
<include>**/api/service/BaseDAGServiceTest.java</include>
-                        <include>**/api/service/BaseServiceTest.java</include>
-                        
<include>**/api/service/DataAnalysisServiceTest.java</include>
-                        
<include>**/api/service/AlertPluginInstanceServiceTest.java</include>
-                        
<include>**/api/service/DataSourceServiceTest.java</include>
-                        
<include>**/api/service/ExecutorService2Test.java</include>
-                        
<include>**/api/service/ExecutorServiceTest.java</include>
-                        
<include>**/api/service/LoggerServiceTest.java</include>
-                        
<include>**/api/service/MonitorServiceTest.java</include>
-                        
<include>**/api/service/ProcessDefinitionServiceTest.java</include>
-                        
<include>**/api/service/ProcessTaskRelationServiceImplTest.java</include>
-                        
<include>**/api/service/TaskDefinitionServiceImplTest.java</include>
-                        
<include>**/api/service/ProcessInstanceServiceTest.java</include>
-                        
<include>**/api/service/ProjectServiceTest.java</include>
-                        <include>**/api/service/QueueServiceTest.java</include>
-                        
<include>**/api/service/ResourcesServiceTest.java</include>
-                        
<include>**/api/service/SchedulerServiceTest.java</include>
-                        
<include>**/api/service/SessionServiceTest.java</include>
-                        
<include>**/api/service/TaskInstanceServiceTest.java</include>
-                        
<include>**/api/service/TenantServiceTest.java</include>
-                        
<include>**/api/service/UdfFuncServiceTest.java</include>
-                        
<include>**/api/service/UiPluginServiceTest.java</include>
-                        
<include>**/api/service/UserAlertGroupServiceTest.java</include>
-                        <include>**/api/service/UsersServiceTest.java</include>
-                        
<include>**/api/service/WorkerGroupServiceTest.java</include>
-                        
<include>**/api/service/WorkFlowLineageServiceTest.java</include>
-                        
<include>**/api/service/EnvironmentServiceTest.java</include>
-                        
<include>**/api/service/EnvironmentWorkerGroupRelationServiceTest.java</include>
-                        
<include>**/api/controller/ProcessDefinitionControllerTest.java</include>
-                        
<include>**/api/controller/TaskInstanceControllerTest.java</include>
-                        
<include>**/api/controller/WorkFlowLineageControllerTest.java</include>
-                        
<include>**/api/controller/EnvironmentControllerTest.java</include>
-                        
<include>**/api/utils/exportprocess/DataSourceParamTest.java</include>
-                        
<include>**/api/utils/exportprocess/DependentParamTest.java</include>
-                        <include>**/api/utils/CheckUtilsTest.java</include>
-                        <include>**/api/utils/FileUtilsTest.java</include>
-                        <include>**/api/utils/CheckUtilsTest.java</include>
-                        <include>**/api/utils/CheckUtilsTest.java</include>
-                        <include>**/api/utils/ResultTest.java</include>
-                        <include>**/common/graph/DAGTest.java</include>
-                        <include>**/common/os/OshiTest.java</include>
-                        
<include>**/common/shell/ShellExecutorTest.java</include>
-                        
<include>**/common/task/DataxParametersTest.java</include>
-                        <include>**/common/task/EntityTestUtils.java</include>
-                        
<include>**/common/task/FlinkParametersTest.java</include>
-                        
<include>**/common/task/HttpParametersTest.java</include>
-                        
<include>**/common/task/SparkParametersTest.java</include>
-                        
<include>**/common/task/SqlParametersTest.java</include>
-                        
<include>**/common/task/SqoopParameterEntityTest.java</include>
-                        
<include>**/common/threadutils/ThreadPoolExecutorsTest.java</include>
-                        
<include>**/common/threadutils/ThreadUtilsTest.java</include>
-                        
<include>**/common/utils/CollectionUtilsTest.java</include>
-                        <include>**/common/utils/CommonUtilsTest.java</include>
-                        <include>**/common/utils/DateUtilsTest.java</include>
-                        
<include>**/common/utils/DependentUtilsTest.java</include>
-                        
<include>**/common/utils/EncryptionUtilsTest.java</include>
-                        <include>**/common/utils/FileUtilsTest.java</include>
-                        <include>**/common/utils/JSONUtilsTest.java</include>
-                        <include>**/common/utils/LoggerUtilsTest.java</include>
-                        <include>**/common/utils/NetUtilsTest.java</include>
-                        
<include>**/common/utils/ParameterUtilsTest.java</include>
-                        
<include>**/common/utils/TimePlaceholderUtilsTest.java</include>
-                        
<include>**/common/utils/PreconditionsTest.java</include>
-                        
<include>**/common/utils/PropertyUtilsTest.java</include>
-                        <include>**/common/utils/SchemaUtilsTest.java</include>
-                        
<include>**/common/utils/ScriptRunnerTest.java</include>
-                        
<include>**/common/utils/SensitiveLogUtilsTest.java</include>
-                        <include>**/common/utils/StringTest.java</include>
-                        <include>**/common/utils/StringUtilsTest.java</include>
-                        
<include>**/common/utils/TaskParametersUtilsTest.java</include>
-                        
<include>**/common/utils/VarPoolUtilsTest.java</include>
-                        <include>**/common/utils/HadoopUtilsTest.java</include>
-                        <include>**/common/utils/HttpUtilsTest.java</include>
-                        
<include>**/common/utils/KerberosHttpClientTest.java</include>
-                        
<include>**/common/utils/HiveConfUtilsTest.java</include>
-                        <include>**/common/ConstantsTest.java</include>
-                        <include>**/common/utils/HadoopUtils.java</include>
-                        
<include>**/common/utils/RetryerUtilsTest.java</include>
-                        
<include>**/common/datasource/clickhouse/ClickHouseDatasourceProcessorTest.java</include>
-                        
<include>**/common/datasource/db2/Db2DatasourceProcessorTest.java</include>
-                        
<include>**/common/datasource/hive/HiveDatasourceProcessorTest.java</include>
-                        
<include>**/common/datasource/mysql/MysqlDatasourceProcessorTest.java</include>
-                        
<include>**/common/datasource/oracle/OracleDatasourceProcessorTest.java</include>
-                        
<include>**/common/datasource/postgresql/PostgreSqlDatasourceProcessorTest.java</include>
-                        
<include>**/common/datasource/presto/PrestoDatasourceProcessorTest.java</include>
-                        
<include>**/common/datasource/spark/SparkDatasourceProcessorTest.java</include>
-                        
<include>**/common/datasource/sqlserver/SqlServerDatasourceProcessorTest.java</include>
-                        
<include>**/common/datasource/DatasourceUtilTest.java</include>
-                        <include>**/common/enums/ExecutionStatusTest</include>
-                        
<include>**/dao/mapper/AccessTokenMapperTest.java</include>
-                        
<include>**/dao/mapper/AlertGroupMapperTest.java</include>
-                        <include>**/dao/mapper/CommandMapperTest.java</include>
-                        
<include>**/dao/mapper/ConnectionFactoryTest.java</include>
-                        
<include>**/dao/mapper/DataSourceMapperTest.java</include>
-                        
<include>**/dao/datasource/MySQLDataSourceTest.java</include>
-                        <include>**/dao/entity/TaskInstanceTest.java</include>
-                        <include>**/dao/entity/UdfFuncTest.java</include>
-                        
<include>**/remote/command/alert/AlertSendRequestCommandTest.java</include>
-                        
<include>**/remote/command/alert/AlertSendResponseCommandTest.java</include>
-                        
<include>**/remote/command/future/ResponseFutureTest.java</include>
-                        
<include>**/remote/command/log/RemoveTaskLogRequestCommandTest.java</include>
-                        
<include>**/remote/command/log/RemoveTaskLogResponseCommandTest.java</include>
-                        
<include>**/remote/command/log/GetLogBytesRequestCommandTest.java</include>
-                        
<include>**/remote/command/log/GetLogBytesResponseCommandTest.java</include>
-                        
<include>**/remote/command/log/ViewLogRequestCommandTest.java</include>
-                        <include>**/remote/utils/HostTest.java</include>
-                        <include>**/remote/utils/NettyUtilTest.java</include>
-                        
<include>**/remote/NettyRemotingClientTest.java</include>
-                        <include>**/rpc/RpcTest.java</include>
-                        <include>**/server/log/LoggerServerTest.java</include>
-                        
<include>**/server/entity/SQLTaskExecutionContextTest.java</include>
-                        
<include>**/server/log/MasterLogFilterTest.java</include>
-                        
<include>**/server/log/SensitiveDataConverterTest.java</include>
-                        
<include>**/server/log/LoggerRequestProcessorTest.java</include>
-                        
<!--<include>**/server/log/TaskLogDiscriminatorTest.java</include>-->
-                        <include>**/server/log/TaskLogFilterTest.java</include>
-                        
<include>**/server/log/WorkerLogFilterTest.java</include>
-                        
<include>**/server/master/cache/impl/TaskInstanceCacheManagerImplTest.java</include>
-                        
<include>**/server/master/config/MasterConfigTest.java</include>
-                        
<include>**/server/master/consumer/TaskPriorityQueueConsumerTest.java</include>
-                        
<include>**/server/master/runner/MasterTaskExecThreadTest.java</include>
-                        
<!--<include>**/server/master/dispatch/executor/NettyExecutorManagerTest.java</include>-->
-                        
<include>**/server/master/dispatch/host/assign/LowerWeightRoundRobinTest.java</include>
-                        
<include>**/server/master/dispatch/host/assign/RandomSelectorTest.java</include>
-                        
<include>**/server/master/dispatch/host/assign/RoundRobinSelectorTest.java</include>
-                        
<include>**/server/master/dispatch/host/assign/HostWorkerTest.java</include>
-                        
<include>**/server/master/registry/MasterRegistryClientTest.java</include>
-                        
<include>**/server/master/registry/ServerNodeManagerTest.java</include>
-                        
<include>**/server/master/dispatch/host/RefreshResourceTaskTest.java</include>
-                        
<include>**/server/master/dispatch/host/assign/RoundRobinHostManagerTest.java</include>
-                        
<include>**/server/master/MasterCommandTest.java</include>
-                        
<include>**/server/master/DependentTaskTest.java</include>
-                        
<include>**/server/master/ConditionsTaskTest.java</include>
-                        <include>**/server/master/SwitchTaskTest.java</include>
-                        
<include>**/server/master/MasterExecThreadTest.java</include>
-                        <include>**/server/master/ParamsTest.java</include>
-                        
<include>**/server/master/SubProcessTaskTest.java</include>
-                        
<include>**/server/master/processor/TaskAckProcessorTest.java</include>
-                        
<include>**/server/master/processor/TaskKillResponseProcessorTest.java</include>
-                        
<include>**/server/master/processor/queue/TaskResponseServiceTest.java</include>
-                        
<include>**/server/master/zk/ZKMasterClientTest.java</include>
-                        
<include>**/server/registry/ZookeeperRegistryCenterTest.java</include>
-                        <include>**/server/utils/DataxUtilsTest.java</include>
-                        
<include>**/server/utils/ExecutionContextTestUtils.java</include>
-                        
<include>**/server/utils/FlinkArgsUtilsTest.java</include>
-                        <include>**/server/utils/LogUtilsTest.java</include>
-                        
<include>**/server/utils/MapReduceArgsUtilsTest.java</include>
-                        <include>**/server/utils/ParamUtilsTest.java</include>
-                        
<include>**/server/utils/ProcessUtilsTest.java</include>
-                        
<include>**/server/utils/SparkArgsUtilsTest.java</include>
-                        
<include>**/server/worker/processor/TaskCallbackServiceTest.java</include>
-                        
<include>**/server/worker/processor/TaskExecuteProcessorTest.java</include>
-                        
<include>**/server/worker/registry/WorkerRegistryTest.java</include>
-                        
<include>**/server/worker/shell/ShellCommandExecutorTest.java</include>
-                        
<include>**/server/worker/sql/SqlExecutorTest.java</include>
-                        
<include>**/server/worker/task/spark/SparkTaskTest.java</include>
-                        
<include>**/server/worker/task/spark/SparkTaskTest.java</include>
-                        
<include>**/server/worker/task/datax/DataxTaskTest.java</include>
-                        
<!--<include>**/server/worker/task/http/HttpTaskTest.java</include>-->
-                        
<include>**/server/worker/task/sqoop/SqoopTaskTest.java</include>
-                        
<include>**/server/worker/task/processdure/ProcedureTaskTest.java</include>
-                        
<include>**/server/worker/task/shell/ShellTaskTest.java</include>
-                        
<include>**/server/worker/task/TaskManagerTest.java</include>
-                        
<include>**/server/worker/task/PythonCommandExecutorTest.java</include>
-                        
<include>**/server/worker/task/TaskParamsTest.java</include>
-                        
<include>**/server/worker/task/ShellTaskReturnTest.java</include>
-                        
<include>**/server/worker/task/sql/SqlTaskTest.java</include>
-                        
<include>**/server/worker/runner/TaskExecuteThreadTest.java</include>
-                        
<include>**/server/worker/runner/WorkerManagerThreadTest.java</include>
-                        
<include>**/server/master/cache/impl/ProcessInstanceExecCacheManagerImplTest.java</include>
-                        
<include>**/service/quartz/cron/CronUtilsTest.java</include>
-                        
<include>**/service/process/ProcessServiceTest.java</include>
-                        
<include>**/service/registry/RegistryClientTest.java</include>
-                        
<include>**/service/registry/RegistryPluginTest.java</include>
-                        
<include>**/service/queue/TaskUpdateQueueTest.java</include>
-                        
<include>**/service/queue/PeerTaskInstancePriorityQueueTest.java</include>
-                        
<include>**/service/log/LogClientServiceTest.java</include>
-                        
<include>**/service/alert/AlertClientServiceTest.java</include>
-                        
<include>**/service/alert/ProcessAlertManagerTest.java</include>
-                        
<include>**/dao/mapper/DataSourceUserMapperTest.java</include>
-                        
<!--<iTaskUpdateQueueConsumerThreadnclude>**/dao/mapper/ErrorCommandMapperTest.java</iTaskUpdateQueueConsumerThreadnclude>-->
-                        
<include>**/dao/mapper/ProcessDefinitionMapperTest.java</include>
-                        
<include>**/dao/mapper/ProcessInstanceMapMapperTest.java</include>
-                        
<include>**/dao/mapper/ProcessInstanceMapperTest.java</include>
-                        <include>**/dao/mapper/ProjectMapperTest.java</include>
-                        
<include>**/dao/mapper/ProjectUserMapperTest.java</include>
-                        <include>**/dao/mapper/QueueMapperTest.java</include>
-                        
<include>**/dao/mapper/ResourceUserMapperTest.java</include>
-                        
<include>**/dao/mapper/ScheduleMapperTest.java</include>
-                        <include>**/dao/mapper/SessionMapperTest.java</include>
-                        
<include>**/dao/mapper/TaskInstanceMapperTest.java</include>
-                        <include>**/dao/mapper/TenantMapperTest.java</include>
-                        <include>**/dao/mapper/UdfFuncMapperTest.java</include>
-                        <include>**/dao/mapper/UDFUserMapperTest.java</include>
-                        <include>**/dao/mapper/UserMapperTest.java</include>
-                        
<include>**/dao/mapper/AlertPluginInstanceMapperTest.java</include>
-                        <include>**/dao/mapper/PluginDefineTest.java</include>
-                        <include>**/dao/utils/DagHelperTest.java</include>
-                        <include>**/dao/AlertDaoTest.java</include>
-                        
<include>**/dao/datasource/OracleDataSourceTest.java</include>
-                        
<include>**/dao/datasource/HiveDataSourceTest.java</include>
-                        
<include>**/dao/datasource/BaseDataSourceTest.java</include>
-                        
<include>**/dao/upgrade/ProcessDefinitionDaoTest.java</include>
-                        
<include>**/dao/upgrade/WokrerGrouopDaoTest.java</include>
-                        <include>**/dao/upgrade/UpgradeDaoTest.java</include>
-                        
<include>**/plugin/alert/email/EmailAlertChannelFactoryTest.java</include>
-                        
<include>**/plugin/alert/email/EmailAlertChannelTest.java</include>
-                        
<include>**/plugin/alert/email/ExcelUtilsTest.java</include>
-                        
<include>**/plugin/alert/email/template/DefaultHTMLTemplateTest.java</include>
-                        
<include>**/plugin/alert/dingtalk/DingTalkSenderTest.java</include>
-                        
<include>**/plugin/alert/dingtalk/DingTalkAlertChannelFactoryTest.java</include>
-                        
<include>**/plugin/alert/wechat/WeChatSenderTest.java</include>
-                        
<include>**/plugin/alert/wechat/WeChatAlertChannelFactoryTest.java</include>
-                        
<include>**/plugin/alert/script/ProcessUtilsTest.java</include>
-                        
<include>**/plugin/alert/script/ScriptAlertChannelFactoryTest.java</include>
-                        
<include>**/plugin/alert/script/ScriptSenderTest.java</include>
-                        
<include>**/plugin/alert/http/HttpAlertChannelFactoryTest.java</include>
-                        
<include>**/plugin/alert/http/HttpAlertChannelTest.java</include>
-                        
<include>**/plugin/alert/feishu/FeiShuAlertChannelFactoryTest.java</include>
-                        
<include>**/plugin/alert/feishu/FeiShuSenderTest.java</include>
-                        
<include>**/plugin/alert/http/HttpAlertPluginTest.java</include>
-                        
<include>**/plugin/alert/http/HttpSenderTest.java</include>
-                        
<include>**/plugin/alert/slack/SlackAlertChannelFactoryTest.java</include>
-                        
<include>**/plugin/alert/slack/SlackAlertPluginTest.java</include>
-                        
<include>**/plugin/alert/slack/SlackSenderTest.java</include>
-                        
<include>**/spi/params/PluginParamsTransferTest.java</include>
-                        
<include>**/spi/plugin/DolphinSchedulerPluginLoaderTest.java</include>
-                        
<include>**/alert/plugin/EmailAlertPluginTest.java</include>
-                        
<include>**/alert/plugin/AlertPluginManagerTest.java</include>
-                        
<include>**/alert/plugin/DolphinPluginLoaderTest.java</include>
-                        <include>**/alert/utils/FuncUtilsTest.java</include>
-                        
<include>**/alert/processor/AlertRequestProcessorTest.java</include>
-                        <include>**/alert/runner/AlertSenderTest.java</include>
-                        <include>**/alert/AlertServerTest.java</include>
-                        
<include>**/plugin/task/pigeon/PigeonTaskTest.java</include>
-                    </includes>
-                    <!-- <skip>true</skip> -->
                 </configuration>
             </plugin>
 
@@ -1155,6 +894,7 @@
                 <artifactId>jacoco-maven-plugin</artifactId>
                 <version>${jacoco.version}</version>
                 <configuration>
+                    <skip>${jacoco.skip}</skip>
                     <dataFile>${project.build.directory}/jacoco.exec</dataFile>
                 </configuration>
                 <executions>
diff --git a/script/dolphinscheduler-daemon.sh 
b/script/dolphinscheduler-daemon.sh
index 4de812b..91383ff 100755
--- a/script/dolphinscheduler-daemon.sh
+++ b/script/dolphinscheduler-daemon.sh
@@ -45,6 +45,7 @@ export HOSTNAME=`hostname`
 export DOLPHINSCHEDULER_PID_DIR=$DOLPHINSCHEDULER_HOME/pid
 export DOLPHINSCHEDULER_LOG_DIR=$DOLPHINSCHEDULER_HOME/logs
 export DOLPHINSCHEDULER_CONF_DIR=$DOLPHINSCHEDULER_HOME/conf
+export DOLPHINSCHEDULER_SQL_DIR=$DOLPHINSCHEDULER_HOME/sql
 export DOLPHINSCHEDULER_LIB_JARS=$DOLPHINSCHEDULER_HOME/lib/*
 
 export STOP_TIMEOUT=5
@@ -100,7 +101,7 @@ case $startStop in
     if [ "$DOCKER" = "true" ]; then
       echo start $command in docker
       export DOLPHINSCHEDULER_OPTS="$DOLPHINSCHEDULER_OPTS 
-XX:-UseContainerSupport"
-      exec_command="$LOG_FILE $DOLPHINSCHEDULER_OPTS -classpath 
$DOLPHINSCHEDULER_CONF_DIR:$DOLPHINSCHEDULER_LIB_JARS $CLASS"
+      exec_command="$LOG_FILE $DOLPHINSCHEDULER_OPTS -classpath 
$DOLPHINSCHEDULER_SQL_DIR:$DOLPHINSCHEDULER_CONF_DIR:$DOLPHINSCHEDULER_LIB_JARS 
$CLASS"
       $JAVA_HOME/bin/java $exec_command
     else
       [ -w "$DOLPHINSCHEDULER_PID_DIR" ] || mkdir -p 
"$DOLPHINSCHEDULER_PID_DIR"
@@ -113,7 +114,7 @@ case $startStop in
       fi
 
       echo starting $command, logging to $log
-      exec_command="$LOG_FILE $DOLPHINSCHEDULER_OPTS -classpath 
$DOLPHINSCHEDULER_CONF_DIR:$DOLPHINSCHEDULER_LIB_JARS $CLASS"
+      exec_command="$LOG_FILE $DOLPHINSCHEDULER_OPTS -classpath 
$DOLPHINSCHEDULER_SQL_DIR:$DOLPHINSCHEDULER_CONF_DIR:$DOLPHINSCHEDULER_LIB_JARS 
$CLASS"
       echo "nohup $JAVA_HOME/bin/java $exec_command > $log 2>&1 &"
       nohup $JAVA_HOME/bin/java $exec_command > $log 2>&1 &
       echo $! > $pid

Reply via email to