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

leonbao pushed a commit to branch 1.3.5-prepare
in repository https://gitbox.apache.org/repos/asf/incubator-dolphinscheduler.git


The following commit(s) were added to refs/heads/1.3.5-prepare by this push:
     new 038a314  [1.3.5-prepare][cherry-pick]#4473 Hive JDBC partial 
permission parame… (#4608)
038a314 is described below

commit 038a3140f9f3dc00fc3f6275727e65e5eb5373fd
Author: Kirs <[email protected]>
AuthorDate: Sun Jan 31 15:42:55 2021 +0800

    [1.3.5-prepare][cherry-pick]#4473 Hive JDBC partial permission parame… 
(#4608)
    
    * [1.3.5-prepare][cherry-pick]#4473 Hive JDBC partial permission parameter 
concatenation JDBC URL error
    issue #4472
    pr #4473
    
    * remove unused class
---
 .../apache/dolphinscheduler/common/Constants.java  |  7 ++
 .../dolphinscheduler/common/utils/CommonUtils.java |  5 +-
 .../common/utils/HiveConfUtils.java                | 87 +++++++++++++++++++++
 .../common/utils/PropertyUtils.java                | 27 ++++++-
 .../common/utils/HiveConfUtilsTest.java            | 48 ++++++------
 .../dao/datasource/BaseDataSource.java             | 45 +++++------
 .../dao/datasource/HiveDataSource.java             | 59 ++++++++++++++
 .../dao/datasource/SQLServerDataSource.java        | 21 -----
 .../dao/datasource/HiveDataSourceTest.java         | 89 ++++++++++++++++++++++
 pom.xml                                            |  2 +
 10 files changed, 317 insertions(+), 73 deletions(-)

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 8af62a4..d67fc57 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
@@ -983,6 +983,13 @@ public final class Constants {
     public static final int NORAML_NODE_STATUS = 0;
     public static final int ABNORMAL_NODE_STATUS = 1;
 
+    /**
+     * datasource encryption salt
+     */
+    public static final String DATASOURCE_ENCRYPTION_SALT_DEFAULT = "!@#$%^&*";
+    public static final String DATASOURCE_ENCRYPTION_ENABLE = 
"datasource.encryption.enable";
+    public static final String DATASOURCE_ENCRYPTION_SALT = 
"datasource.encryption.salt";
+
 
     /**
      * exec shell scripts
diff --git 
a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/CommonUtils.java
 
b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/CommonUtils.java
index 2468e62..029413e 100644
--- 
a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/CommonUtils.java
+++ 
b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/CommonUtils.java
@@ -18,12 +18,13 @@ package org.apache.dolphinscheduler.common.utils;
 
 import org.apache.dolphinscheduler.common.Constants;
 import org.apache.dolphinscheduler.common.enums.ResUploadType;
+
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.security.UserGroupInformation;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.io.File;
 import java.net.URL;
 
 /**
@@ -33,7 +34,7 @@ public class CommonUtils {
   private static final Logger logger = 
LoggerFactory.getLogger(CommonUtils.class);
 
   private CommonUtils() {
-    throw new IllegalStateException("CommonUtils class");
+        throw new UnsupportedOperationException("Construct CommonUtils");
   }
 
   /**
diff --git 
a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/HiveConfUtils.java
 
b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/HiveConfUtils.java
new file mode 100644
index 0000000..ef11a92
--- /dev/null
+++ 
b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/HiveConfUtils.java
@@ -0,0 +1,87 @@
+/*
+ * 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.hadoop.hive.conf.HiveConf;
+import org.apache.hadoop.hive.conf.HiveConf.ConfVars;
+
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ * hive conf utils
+ */
+public class HiveConfUtils {
+
+    private HiveConfUtils() {
+        throw new UnsupportedOperationException("Construct HiveConfUtils");
+    }
+
+    private static class HiveConfHandler {
+        private static HiveConf singleton;
+
+        private static Map<String,Object> hiveConfVars;
+
+        static {
+            singleton = new HiveConf();
+            hiveConfVars = new HashMap<>();
+            Arrays.stream(ConfVars.values()).forEach(confVar -> 
hiveConfVars.put(confVar.varname,confVar));
+        }
+    }
+
+    /**
+     * get HiveConf instance
+     * @return HiveConf hiveConf
+     */
+    public static HiveConf getInstance() {
+        return HiveConfHandler.singleton;
+    }
+
+    /**
+     * get hive conf vars
+     * @return
+     */
+    public static Map<String,Object> getHiveConfVars() {
+        return HiveConfHandler.hiveConfVars;
+    }
+
+    /**
+     * Determine if it belongs to a hive conf property
+     * @param conf config
+     * @return boolean result
+     */
+    public static boolean isHiveConfVar(String conf) {
+        // the default hive conf var name
+        String confKey = conf.split("=")[0];
+        Map<String, Object> hiveConfVars = HiveConfUtils.getHiveConfVars();
+        if (hiveConfVars.get(confKey) != null) {
+            return true;
+        }
+
+        // the security authorization hive conf var name
+        HiveConf hiveConf = HiveConfUtils.getInstance();
+        String hiveAuthorizationSqlStdAuthConfigWhitelist = 
hiveConf.getVar(HiveConf.ConfVars.HIVE_AUTHORIZATION_SQL_STD_AUTH_CONFIG_WHITELIST);
+        Pattern modWhiteListPattern = 
Pattern.compile(hiveAuthorizationSqlStdAuthConfigWhitelist);
+        Matcher matcher = modWhiteListPattern.matcher(confKey);
+        return matcher.matches();
+    }
+
+}
\ No newline at end of file
diff --git 
a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/PropertyUtils.java
 
b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/PropertyUtils.java
index ba1fcd6..12c0054 100644
--- 
a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/PropertyUtils.java
+++ 
b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/PropertyUtils.java
@@ -16,6 +16,8 @@
  */
 package org.apache.dolphinscheduler.common.utils;
 
+import static 
org.apache.dolphinscheduler.common.Constants.COMMON_PROPERTIES_PATH;
+
 import org.apache.dolphinscheduler.common.Constants;
 import org.apache.dolphinscheduler.common.enums.ResUploadType;
 import org.apache.commons.io.IOUtils;
@@ -28,7 +30,8 @@ import java.util.HashMap;
 import java.util.Map;
 import java.util.Properties;
 
-import static 
org.apache.dolphinscheduler.common.Constants.COMMON_PROPERTIES_PATH;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * property utils
@@ -44,7 +47,7 @@ public class PropertyUtils {
     private static final Properties properties = new Properties();
 
     private PropertyUtils() {
-        throw new IllegalStateException("PropertyUtils class");
+        throw new UnsupportedOperationException("Construct PropertyUtils");
     }
 
     static {
@@ -72,7 +75,7 @@ public class PropertyUtils {
      * @return  judge whether resource upload startup
      */
     public static Boolean getResUploadStartupState(){
-        String resUploadStartupType = 
PropertyUtils.getString(Constants.RESOURCE_STORAGE_TYPE);
+        String resUploadStartupType = 
PropertyUtils.getUpperCaseString(Constants.RESOURCE_STORAGE_TYPE);
         ResUploadType resUploadType = 
ResUploadType.valueOf(resUploadStartupType);
         return resUploadType == ResUploadType.HDFS || resUploadType == 
ResUploadType.S3;
     }
@@ -88,6 +91,16 @@ public class PropertyUtils {
     }
 
     /**
+     * get property value with upper case
+     *
+     * @param key property name
+     * @return property value  with upper case
+     */
+    public static String getUpperCaseString(String key) {
+        return properties.getProperty(key.trim()).toUpperCase();
+    }
+
+    /**
      * get property value
      *
      * @param key property name
@@ -240,4 +253,12 @@ public class PropertyUtils {
         }
         return matchedProperties;
     }
+
+    /**
+     *
+     */
+    public static void setValue(String key, String value) {
+        properties.setProperty(key, value);
+    }
+
 }
diff --git 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/datasource/HiveDataSource.java
 
b/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/utils/HiveConfUtilsTest.java
similarity index 54%
copy from 
dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/datasource/HiveDataSource.java
copy to 
dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/utils/HiveConfUtilsTest.java
index 055937b..85912d5 100644
--- 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/datasource/HiveDataSource.java
+++ 
b/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/utils/HiveConfUtilsTest.java
@@ -14,30 +14,34 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.dolphinscheduler.dao.datasource;
 
-import org.apache.dolphinscheduler.common.Constants;
-import org.apache.dolphinscheduler.common.enums.DbType;
+package org.apache.dolphinscheduler.common.utils;
+
+import org.junit.Assert;
+import org.junit.Test;
 
 /**
- * data source of hive
+ * hive conf utils test
  */
-public class HiveDataSource extends BaseDataSource {
-
-  /**
-   * gets the JDBC url for the data source connection
-   * @return jdbc url
-   */
-  @Override
-  public String driverClassSelector() {
-    return Constants.ORG_APACHE_HIVE_JDBC_HIVE_DRIVER;
-  }
-
-  /**
-   * @return db type
-   */
-  @Override
-  public DbType dbTypeSelector() {
-    return DbType.HIVE;
-  }
+public class HiveConfUtilsTest {
+
+    /**
+     * test is hive conf var
+     */
+    @Test
+    public void testIsHiveConfVar() {
+
+        String conf = "hive.exec.script.wrapper=123";
+        boolean hiveConfVar = HiveConfUtils.isHiveConfVar(conf);
+        Assert.assertTrue(hiveConfVar);
+
+        conf = "hive.test.v1=v1";
+        hiveConfVar = HiveConfUtils.isHiveConfVar(conf);
+        Assert.assertFalse(hiveConfVar);
+
+        conf = "tez.queue.name=tezQueue";
+        hiveConfVar = HiveConfUtils.isHiveConfVar(conf);
+        Assert.assertTrue(hiveConfVar);
+
+    }
 }
diff --git 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/datasource/BaseDataSource.java
 
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/datasource/BaseDataSource.java
index 30d5d77..d9125a2 100644
--- 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/datasource/BaseDataSource.java
+++ 
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/datasource/BaseDataSource.java
@@ -16,11 +16,13 @@
  */
 package org.apache.dolphinscheduler.dao.datasource;
 
-import java.sql.Connection;
-import java.sql.DriverManager;
-import java.sql.SQLException;
 import org.apache.dolphinscheduler.common.enums.DbType;
+import org.apache.dolphinscheduler.common.utils.CommonUtils;
 import org.apache.dolphinscheduler.common.utils.StringUtils;
+
+import java.sql.Connection;
+import java.sql.DriverManager;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -97,7 +99,7 @@ public abstract class BaseDataSource {
    * append database
    * @param jdbcUrl jdbc url
    */
-  private void appendDatabase(StringBuilder jdbcUrl) {
+    protected void appendDatabase(StringBuilder jdbcUrl) {
     if (dbTypeSelector() == DbType.SQLSERVER) {
       jdbcUrl.append(";databaseName=").append(getDatabase());
     } else {
@@ -149,31 +151,20 @@ public abstract class BaseDataSource {
     }
   }
 
+    /**
+     * the data source test connection
+     * @return Connection Connection
+     * @throws Exception Exception
+     */
+    public Connection getConnection() throws Exception {
+        Class.forName(driverClassSelector());
+        return DriverManager.getConnection(getJdbcUrl(), getUser(), 
getPassword());
+    }
+
   protected String filterOther(String otherParams){
     return otherParams;
   }
 
-  /**
-   * test whether the data source can be connected successfully
-   */
-  public void isConnectable() {
-    Connection con = null;
-    try {
-      Class.forName(driverClassSelector());
-      con = DriverManager.getConnection(getJdbcUrl(), getUser(), 
getPassword());
-    } catch (ClassNotFoundException | SQLException e) {
-      logger.error("Get connection error: {}", e.getMessage());
-    } finally {
-      if (con != null) {
-        try {
-          con.close();
-        } catch (SQLException e) {
-          logger.error(e.getMessage(), e);
-        }
-      }
-    }
-  }
-
   public String getUser() {
     return user;
   }
@@ -182,6 +173,10 @@ public abstract class BaseDataSource {
     this.user = user;
   }
 
+    /**
+     * password need decode
+     * @return
+     */
   public String getPassword() {
     return password;
   }
diff --git 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/datasource/HiveDataSource.java
 
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/datasource/HiveDataSource.java
index 055937b..931a5d3 100644
--- 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/datasource/HiveDataSource.java
+++ 
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/datasource/HiveDataSource.java
@@ -18,6 +18,11 @@ package org.apache.dolphinscheduler.dao.datasource;
 
 import org.apache.dolphinscheduler.common.Constants;
 import org.apache.dolphinscheduler.common.enums.DbType;
+import org.apache.dolphinscheduler.common.utils.CommonUtils;
+import org.apache.dolphinscheduler.common.utils.HiveConfUtils;
+import org.apache.dolphinscheduler.common.utils.StringUtils;
+
+import java.sql.Connection;
 
 /**
  * data source of hive
@@ -40,4 +45,58 @@ public class HiveDataSource extends BaseDataSource {
   public DbType dbTypeSelector() {
     return DbType.HIVE;
   }
+
+    /**
+     * build hive jdbc params,append : ?hive_conf_list
+     *
+     * hive jdbc url template:
+     *
+     * 
jdbc:hive2://<host1>:<port1>,<host2>:<port2>/dbName;initFile=<file>;sess_var_list?hive_conf_list#hive_var_list
+     *
+     * @param otherParams otherParams
+     * @return filter otherParams
+     */
+    @Override
+    protected String filterOther(String otherParams) {
+        if (StringUtils.isBlank(otherParams)) {
+            return "";
+        }
+
+        StringBuilder hiveConfListSb = new StringBuilder();
+        hiveConfListSb.append("?");
+        StringBuilder sessionVarListSb = new StringBuilder();
+
+        String[] otherArray = otherParams.split(";", -1);
+
+        for (String conf : otherArray) {
+            if (HiveConfUtils.isHiveConfVar(conf)) {
+                hiveConfListSb.append(conf).append(";");
+            } else {
+                sessionVarListSb.append(conf).append(";");
+            }
+        }
+
+        // remove the last ";"
+        if (sessionVarListSb.length() > 0) {
+            sessionVarListSb.deleteCharAt(sessionVarListSb.length() - 1);
+        }
+
+        if (hiveConfListSb.length() > 0) {
+            hiveConfListSb.deleteCharAt(hiveConfListSb.length() - 1);
+        }
+
+        return sessionVarListSb.toString() + hiveConfListSb.toString();
+    }
+
+    /**
+     * the data source test connection
+     * @return Connection Connection
+     * @throws Exception Exception
+     */
+    @Override
+    public Connection getConnection() throws Exception {
+        CommonUtils.loadKerberosConf();
+        return super.getConnection();
+    }
+
 }
diff --git 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/datasource/SQLServerDataSource.java
 
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/datasource/SQLServerDataSource.java
index e4b8f4b..6664fb6 100644
--- 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/datasource/SQLServerDataSource.java
+++ 
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/datasource/SQLServerDataSource.java
@@ -49,27 +49,6 @@ public class SQLServerDataSource extends BaseDataSource {
         return jdbcUrl;
     }
 
-    /**
-     * test whether the data source can be connected successfully
-     */
-    @Override
-    public void isConnectable() {
-        Connection con = null;
-        try {
-            Class.forName(Constants.COM_SQLSERVER_JDBC_DRIVER);
-            con = DriverManager.getConnection(getJdbcUrl(), getUser(), 
getPassword());
-        } catch (Exception e) {
-            logger.error("error", e);
-        } finally {
-            if (con != null) {
-                try {
-                    con.close();
-                } catch (SQLException e) {
-                    logger.error("SQL Server datasource try conn close conn 
error", e);
-                }
-            }
-        }
-    }
   /**
    * @return driver class
    */
diff --git 
a/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/datasource/HiveDataSourceTest.java
 
b/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/datasource/HiveDataSourceTest.java
new file mode 100644
index 0000000..3920fd3
--- /dev/null
+++ 
b/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/datasource/HiveDataSourceTest.java
@@ -0,0 +1,89 @@
+/*
+ * 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.dao.datasource;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * test data source of hive
+ */
+public class HiveDataSourceTest {
+
+    @Test
+    public void testFilterOther() {
+        BaseDataSource hiveDataSource = new HiveDataSource();
+
+        // not contain hive_site_conf
+        String other = hiveDataSource.filterOther("charset=UTF-8");
+        Assert.assertEquals("charset=UTF-8", other);
+
+        // not contain
+        other = hiveDataSource.filterOther("");
+        Assert.assertEquals("", other);
+
+        // only contain hive_site_conf
+        other = hiveDataSource.filterOther("hive.mapred.mode=strict");
+        Assert.assertEquals("?hive.mapred.mode=strict", other);
+
+        // contain hive_site_conf at the first
+        other = 
hiveDataSource.filterOther("hive.mapred.mode=strict;charset=UTF-8");
+        Assert.assertEquals("charset=UTF-8?hive.mapred.mode=strict", other);
+
+        // contain hive_site_conf in the middle
+        other = 
hiveDataSource.filterOther("charset=UTF-8;hive.mapred.mode=strict;foo=bar");
+        Assert.assertEquals("charset=UTF-8;foo=bar?hive.mapred.mode=strict", 
other);
+
+        // contain hive_site_conf at the end
+        other = 
hiveDataSource.filterOther("charset=UTF-8;foo=bar;hive.mapred.mode=strict");
+        Assert.assertEquals("charset=UTF-8;foo=bar?hive.mapred.mode=strict", 
other);
+
+        // contain multi hive_site_conf
+        other = 
hiveDataSource.filterOther("charset=UTF-8;foo=bar;hive.mapred.mode=strict;hive.exec.parallel=true");
+        
Assert.assertEquals("charset=UTF-8;foo=bar?hive.mapred.mode=strict;hive.exec.parallel=true",
 other);
+
+        // the security authorization hive conf var
+        other = hiveDataSource.filterOther("tez.queue.name=tezTest");
+        Assert.assertEquals("?tez.queue.name=tezTest", other);
+
+    }
+
+    @Test
+    public void testGetHiveJdbcUrlOther() {
+
+        BaseDataSource hiveDataSource = new HiveDataSource();
+        hiveDataSource.setAddress("jdbc:hive2://127.0.0.1:10000");
+        hiveDataSource.setDatabase("test");
+        hiveDataSource.setPassword("123456");
+        hiveDataSource.setUser("test");
+        Assert.assertEquals("jdbc:hive2://127.0.0.1:10000/test", 
hiveDataSource.getJdbcUrl());
+
+        
hiveDataSource.setOther("charset=UTF-8;hive.mapred.mode=strict;hive.server2.thrift.http.path=hs2");
+
+        Assert.assertEquals(
+                
"jdbc:hive2://127.0.0.1:10000/test;charset=UTF-8?hive.mapred.mode=strict;hive.server2.thrift.http.path=hs2",
+                hiveDataSource.getJdbcUrl());
+
+        
hiveDataSource.setOther("hive.mapred.mode=strict;hive.server2.thrift.http.path=hs2");
+        Assert.assertEquals(
+                
"jdbc:hive2://127.0.0.1:10000/test;?hive.mapred.mode=strict;hive.server2.thrift.http.path=hs2",
+                hiveDataSource.getJdbcUrl());
+
+    }
+
+}
diff --git a/pom.xml b/pom.xml
index 0f67fff..6833fd4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -772,6 +772,7 @@
                         
<include>**/common/utils/TaskParametersUtilsTest.java</include>
                         <include>**/common/utils/HadoopUtilsTest.java</include>
                         <include>**/common/utils/HttpUtilsTest.java</include>
+                        
<include>**/common/utils/HiveConfUtilsTest.java</include>
                         <include>**/common/ConstantsTest.java</include>
                         <include>**/common/utils/HadoopUtils.java</include>
                         
<include>**/common/plugin/FilePluginManagerTest</include>
@@ -781,6 +782,7 @@
                         <include>**/dao/mapper/CommandMapperTest.java</include>
                         
<include>**/dao/mapper/ConnectionFactoryTest.java</include>
                         
<include>**/dao/mapper/DataSourceMapperTest.java</include>
+                        
<include>**/dao/datasource/HiveDataSourceTest.java</include>
                         
<include>**/remote/RemoveTaskLogResponseCommandTest.java</include>
                         
<include>**/remote/RemoveTaskLogRequestCommandTest.java</include>
                         
<include>**/remote/FastJsonSerializerTest.java</include>

Reply via email to