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

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


The following commit(s) were added to refs/heads/2.0.2-prepare by this push:
     new 0b6f3fb  [Cherry-pick-2.0.2[Feature-7460][]Feature-7451][Fix-7392] 
(#7483)
0b6f3fb is described below

commit 0b6f3fb0c35b12fe7082294a8944f196cf6f38f5
Author: SbloodyS <[email protected]>
AuthorDate: Mon Dec 20 18:47:49 2021 +0800

    [Cherry-pick-2.0.2[Feature-7460][]Feature-7451][Fix-7392] (#7483)
    
    * remove date+1 when the data is supplemented (#7452)
    
    * resolve conflict
    
    * [Fix-7392][dolphinscheduler-datasource] Add hive datasource failed (#7393)
    
    * fix bug_7392
    
    * fix bug_7392
    
    * fix bug_7392
    
    Co-authored-by: SbloodyS <[email protected]>
    
    * cherry-pick-2.0.2
    
    Co-authored-by: SbloodyS <[email protected]>
---
 .../alert/wechat/WeChatAlertChannelFactory.java    |  9 +++++++-
 .../plugin/alert/wechat/WeChatAlertConstants.java  |  3 +++
 .../alert/wechat/WeChatAlertParamsConstants.java   |  5 +++++
 .../plugin/alert/wechat/WeChatSender.java          |  9 +++++++-
 .../{WeChatAlertConstants.java => WeChatType.java} | 25 ++++++++++++++--------
 .../wechat/WeChatAlertChannelFactoryTest.java      |  2 +-
 .../datasource/hive/HiveDataSourceClient.java      |  4 +++-
 .../server/worker/runner/TaskExecuteThread.java    |  3 ---
 8 files changed, 44 insertions(+), 16 deletions(-)

diff --git 
a/dolphinscheduler-alert/dolphinscheduler-alert-plugins/dolphinscheduler-alert-wechat/src/main/java/org/apache/dolphinscheduler/plugin/alert/wechat/WeChatAlertChannelFactory.java
 
b/dolphinscheduler-alert/dolphinscheduler-alert-plugins/dolphinscheduler-alert-wechat/src/main/java/org/apache/dolphinscheduler/plugin/alert/wechat/WeChatAlertChannelFactory.java
index 299ffdd..ef5fc6f 100644
--- 
a/dolphinscheduler-alert/dolphinscheduler-alert-plugins/dolphinscheduler-alert-wechat/src/main/java/org/apache/dolphinscheduler/plugin/alert/wechat/WeChatAlertChannelFactory.java
+++ 
b/dolphinscheduler-alert/dolphinscheduler-alert-plugins/dolphinscheduler-alert-wechat/src/main/java/org/apache/dolphinscheduler/plugin/alert/wechat/WeChatAlertChannelFactory.java
@@ -76,6 +76,13 @@ public final class WeChatAlertChannelFactory implements 
AlertChannelFactory {
                                                                  .build())
                                             .build();
 
+        RadioParam sendType = 
RadioParam.newBuilder(WeChatAlertParamsConstants.NAME_ENTERPRISE_WE_CHAT_SEND_TYPE,
 WeChatAlertParamsConstants.ENTERPRISE_WE_CHAT_SEND_TYPE)
+                .addParamsOptions(new ParamsOptions(WeChatType.APP.getDescp(), 
WeChatType.APP.getDescp(), false))
+                .addParamsOptions(new 
ParamsOptions(WeChatType.APPCHAT.getDescp(), WeChatType.APPCHAT.getDescp(), 
false))
+                .setValue(WeChatType.APP.getDescp())
+                .addValidate(Validate.newBuilder().setRequired(true).build())
+                .build();
+
         RadioParam showType = 
RadioParam.newBuilder(AlertConstants.NAME_SHOW_TYPE, AlertConstants.SHOW_TYPE)
                                         .addParamsOptions(new 
ParamsOptions(ShowType.TABLE.getDescp(), ShowType.TABLE.getDescp(), false))
                                         .addParamsOptions(new 
ParamsOptions(ShowType.TEXT.getDescp(), ShowType.TEXT.getDescp(), false))
@@ -83,7 +90,7 @@ public final class WeChatAlertChannelFactory implements 
AlertChannelFactory {
                                         
.addValidate(Validate.newBuilder().setRequired(true).build())
                                         .build();
 
-        return Arrays.asList(corpIdParam, secretParam, usersParam, 
userSendMsgParam, agentIdParam, showType);
+        return Arrays.asList(corpIdParam, secretParam, usersParam, 
userSendMsgParam, agentIdParam, sendType, showType);
     }
 
     @Override
diff --git 
a/dolphinscheduler-alert/dolphinscheduler-alert-plugins/dolphinscheduler-alert-wechat/src/main/java/org/apache/dolphinscheduler/plugin/alert/wechat/WeChatAlertConstants.java
 
b/dolphinscheduler-alert/dolphinscheduler-alert-plugins/dolphinscheduler-alert-wechat/src/main/java/org/apache/dolphinscheduler/plugin/alert/wechat/WeChatAlertConstants.java
index 141542f..9c90d63 100644
--- 
a/dolphinscheduler-alert/dolphinscheduler-alert-plugins/dolphinscheduler-alert-wechat/src/main/java/org/apache/dolphinscheduler/plugin/alert/wechat/WeChatAlertConstants.java
+++ 
b/dolphinscheduler-alert/dolphinscheduler-alert-plugins/dolphinscheduler-alert-wechat/src/main/java/org/apache/dolphinscheduler/plugin/alert/wechat/WeChatAlertConstants.java
@@ -26,6 +26,9 @@ public final class WeChatAlertConstants {
 
     static final String WE_CHAT_PUSH_URL = 
"https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={token}";;
 
+    static final String WE_CHAT_APP_CHAT_PUSH_URL = 
"https://qyapi.weixin.qq.com/cgi-bin/appchat/send?access_token"; +
+            "={token}";
+
     static final String WE_CHAT_TOKEN_URL = 
"https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={corpId}&corpsecret={secret}";;
 
     private WeChatAlertConstants() {
diff --git 
a/dolphinscheduler-alert/dolphinscheduler-alert-plugins/dolphinscheduler-alert-wechat/src/main/java/org/apache/dolphinscheduler/plugin/alert/wechat/WeChatAlertParamsConstants.java
 
b/dolphinscheduler-alert/dolphinscheduler-alert-plugins/dolphinscheduler-alert-wechat/src/main/java/org/apache/dolphinscheduler/plugin/alert/wechat/WeChatAlertParamsConstants.java
index bfc7fed..8e8f6b1 100644
--- 
a/dolphinscheduler-alert/dolphinscheduler-alert-plugins/dolphinscheduler-alert-wechat/src/main/java/org/apache/dolphinscheduler/plugin/alert/wechat/WeChatAlertParamsConstants.java
+++ 
b/dolphinscheduler-alert/dolphinscheduler-alert-plugins/dolphinscheduler-alert-wechat/src/main/java/org/apache/dolphinscheduler/plugin/alert/wechat/WeChatAlertParamsConstants.java
@@ -48,6 +48,11 @@ public final class WeChatAlertParamsConstants {
     static final String NAME_ENTERPRISE_WE_CHAT_USERS = "users";
 
 
+    static final String NAME_ENTERPRISE_WE_CHAT_SEND_TYPE = "sendType";
+
+    static final String ENTERPRISE_WE_CHAT_SEND_TYPE = "send.type";
+
+
     private WeChatAlertParamsConstants() {
         throw new UnsupportedOperationException("This is a utility class and 
cannot be instantiated");
     }
diff --git 
a/dolphinscheduler-alert/dolphinscheduler-alert-plugins/dolphinscheduler-alert-wechat/src/main/java/org/apache/dolphinscheduler/plugin/alert/wechat/WeChatSender.java
 
b/dolphinscheduler-alert/dolphinscheduler-alert-plugins/dolphinscheduler-alert-wechat/src/main/java/org/apache/dolphinscheduler/plugin/alert/wechat/WeChatSender.java
index 1febc8b..e38eea5 100644
--- 
a/dolphinscheduler-alert/dolphinscheduler-alert-plugins/dolphinscheduler-alert-wechat/src/main/java/org/apache/dolphinscheduler/plugin/alert/wechat/WeChatSender.java
+++ 
b/dolphinscheduler-alert/dolphinscheduler-alert-plugins/dolphinscheduler-alert-wechat/src/main/java/org/apache/dolphinscheduler/plugin/alert/wechat/WeChatSender.java
@@ -53,6 +53,7 @@ public final class WeChatSender {
     private final String weChatUserSendMsg;
     private final String weChatTokenUrlReplace;
     private final String weChatToken;
+    private final String sendType;
     private final String showType;
 
     WeChatSender(Map<String, String> config) {
@@ -62,6 +63,7 @@ public final class WeChatSender {
         String weChatSecret = 
config.get(WeChatAlertParamsConstants.NAME_ENTERPRISE_WE_CHAT_SECRET);
         String weChatTokenUrl = WeChatAlertConstants.WE_CHAT_TOKEN_URL;
         weChatUserSendMsg = 
config.get(WeChatAlertParamsConstants.NAME_ENTERPRISE_WE_CHAT_USER_SEND_MSG);
+        sendType = 
config.get(WeChatAlertParamsConstants.NAME_ENTERPRISE_WE_CHAT_SEND_TYPE);
         showType = config.get(AlertConstants.NAME_SHOW_TYPE);
         requireNonNull(showType, AlertConstants.NAME_SHOW_TYPE + 
MUST_NOT_NULL);
         weChatTokenUrlReplace = weChatTokenUrl
@@ -247,7 +249,12 @@ public final class WeChatSender {
             alertResult.setStatus(ALERT_STATUS);
             return alertResult;
         }
-        String enterpriseWeChatPushUrlReplace = 
WeChatAlertConstants.WE_CHAT_PUSH_URL.replace(TOKEN_REGEX, weChatToken);
+        String enterpriseWeChatPushUrlReplace = "";
+        if (sendType.equals(WeChatType.APP.getDescp())) {
+            enterpriseWeChatPushUrlReplace = 
WeChatAlertConstants.WE_CHAT_PUSH_URL.replace(TOKEN_REGEX, weChatToken);
+        } else if (sendType.equals(WeChatType.APPCHAT.getDescp())) {
+            enterpriseWeChatPushUrlReplace = 
WeChatAlertConstants.WE_CHAT_APP_CHAT_PUSH_URL.replace(TOKEN_REGEX, 
weChatToken);
+        }
 
         try {
             return 
checkWeChatSendMsgResult(post(enterpriseWeChatPushUrlReplace, msg));
diff --git 
a/dolphinscheduler-alert/dolphinscheduler-alert-plugins/dolphinscheduler-alert-wechat/src/main/java/org/apache/dolphinscheduler/plugin/alert/wechat/WeChatAlertConstants.java
 
b/dolphinscheduler-alert/dolphinscheduler-alert-plugins/dolphinscheduler-alert-wechat/src/main/java/org/apache/dolphinscheduler/plugin/alert/wechat/WeChatType.java
similarity index 60%
copy from 
dolphinscheduler-alert/dolphinscheduler-alert-plugins/dolphinscheduler-alert-wechat/src/main/java/org/apache/dolphinscheduler/plugin/alert/wechat/WeChatAlertConstants.java
copy to 
dolphinscheduler-alert/dolphinscheduler-alert-plugins/dolphinscheduler-alert-wechat/src/main/java/org/apache/dolphinscheduler/plugin/alert/wechat/WeChatType.java
index 141542f..eac208a 100644
--- 
a/dolphinscheduler-alert/dolphinscheduler-alert-plugins/dolphinscheduler-alert-wechat/src/main/java/org/apache/dolphinscheduler/plugin/alert/wechat/WeChatAlertConstants.java
+++ 
b/dolphinscheduler-alert/dolphinscheduler-alert-plugins/dolphinscheduler-alert-wechat/src/main/java/org/apache/dolphinscheduler/plugin/alert/wechat/WeChatType.java
@@ -15,20 +15,27 @@
  * limitations under the License.
  */
 
-package org.apache.dolphinscheduler.plugin.alert.wechat;
 
-public final class WeChatAlertConstants {
-    static final String MARKDOWN_QUOTE = ">";
+package org.apache.dolphinscheduler.plugin.alert.wechat;
 
-    static final String MARKDOWN_ENTER = "\n";
+public enum WeChatType {
+    APP(1, "应用"),
+    APPCHAT(2, "群聊"),
+    ;
 
-    static final String CHARSET = "UTF-8";
+    private final int code;
+    private final String descp;
 
-    static final String WE_CHAT_PUSH_URL = 
"https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={token}";;
+    WeChatType(int code, String descp) {
+        this.code = code;
+        this.descp = descp;
+    }
 
-    static final String WE_CHAT_TOKEN_URL = 
"https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={corpId}&corpsecret={secret}";;
+    public int getCode() {
+        return code;
+    }
 
-    private WeChatAlertConstants() {
-        throw new UnsupportedOperationException("This is a utility class and 
cannot be instantiated");
+    public String getDescp() {
+        return descp;
     }
 }
diff --git 
a/dolphinscheduler-alert/dolphinscheduler-alert-plugins/dolphinscheduler-alert-wechat/src/test/java/org/apache/dolphinscheduler/plugin/alert/wechat/WeChatAlertChannelFactoryTest.java
 
b/dolphinscheduler-alert/dolphinscheduler-alert-plugins/dolphinscheduler-alert-wechat/src/test/java/org/apache/dolphinscheduler/plugin/alert/wechat/WeChatAlertChannelFactoryTest.java
index 04ecc36..648c206 100644
--- 
a/dolphinscheduler-alert/dolphinscheduler-alert-plugins/dolphinscheduler-alert-wechat/src/test/java/org/apache/dolphinscheduler/plugin/alert/wechat/WeChatAlertChannelFactoryTest.java
+++ 
b/dolphinscheduler-alert/dolphinscheduler-alert-plugins/dolphinscheduler-alert-wechat/src/test/java/org/apache/dolphinscheduler/plugin/alert/wechat/WeChatAlertChannelFactoryTest.java
@@ -36,7 +36,7 @@ public class WeChatAlertChannelFactoryTest {
         WeChatAlertChannelFactory weChatAlertChannelFactory = new 
WeChatAlertChannelFactory();
         List<PluginParams> params = weChatAlertChannelFactory.params();
         JSONUtils.toJsonString(params);
-        Assert.assertEquals(6, params.size());
+        Assert.assertEquals(7, params.size());
     }
 
     @Test
diff --git 
a/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-hive/src/main/java/org/apache/dolphinscheduler/plugin/datasource/hive/HiveDataSourceClient.java
 
b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-hive/src/main/java/org/apache/dolphinscheduler/plugin/datasource/hive/HiveDataSourceClient.java
index 0b00980..fa9b287 100644
--- 
a/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-hive/src/main/java/org/apache/dolphinscheduler/plugin/datasource/hive/HiveDataSourceClient.java
+++ 
b/dolphinscheduler-datasource-plugin/dolphinscheduler-datasource-hive/src/main/java/org/apache/dolphinscheduler/plugin/datasource/hive/HiveDataSourceClient.java
@@ -19,6 +19,7 @@ package org.apache.dolphinscheduler.plugin.datasource.hive;
 
 import static 
org.apache.dolphinscheduler.spi.task.TaskConstants.JAVA_SECURITY_KRB5_CONF;
 import static 
org.apache.dolphinscheduler.spi.task.TaskConstants.JAVA_SECURITY_KRB5_CONF_PATH;
+import static 
org.apache.dolphinscheduler.spi.task.TaskConstants.HADOOP_SECURITY_AUTHENTICATION_STARTUP_STATE;
 
 import 
org.apache.dolphinscheduler.plugin.datasource.api.client.CommonDataSourceClient;
 import 
org.apache.dolphinscheduler.plugin.datasource.api.provider.JdbcDataSourceProvider;
@@ -90,7 +91,8 @@ public class HiveDataSourceClient extends 
CommonDataSourceClient {
 
     private void checkKerberosEnv() {
         String krb5File = 
PropertyUtils.getString(JAVA_SECURITY_KRB5_CONF_PATH);
-        if (StringUtils.isNotBlank(krb5File)) {
+        Boolean kerberosStartupState = 
PropertyUtils.getBoolean(HADOOP_SECURITY_AUTHENTICATION_STARTUP_STATE, false);
+        if (kerberosStartupState && StringUtils.isNotBlank(krb5File)) {
             System.setProperty(JAVA_SECURITY_KRB5_CONF, krb5File);
             try {
                 Config.refresh();
diff --git 
a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/runner/TaskExecuteThread.java
 
b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/runner/TaskExecuteThread.java
index 54d96ac..b633a54 100644
--- 
a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/runner/TaskExecuteThread.java
+++ 
b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/runner/TaskExecuteThread.java
@@ -367,9 +367,6 @@ public class TaskExecuteThread implements Runnable, Delayed 
{
         // replace variable TIME with $[YYYYmmddd...] in shell file when 
history run job and batch complement job
         if (taskExecutionContext.getScheduleTime() != null) {
             Date date = taskExecutionContext.getScheduleTime();
-            if (CommandType.COMPLEMENT_DATA.getCode() == 
taskExecutionContext.getCmdTypeIfComplement()) {
-                date = DateUtils.add(taskExecutionContext.getScheduleTime(), 
DAY_OF_MONTH, 1);
-            }
             String dateTime = DateUtils.format(date, 
Constants.PARAMETER_FORMAT_TIME);
             Property p = new Property();
             p.setValue(dateTime);

Reply via email to