You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dolphinscheduler.apache.org by ca...@apache.org on 2022/11/09 03:48:18 UTC

[dolphinscheduler] branch dev updated: [fix-12687]when timeout_notify_strategy is null, modify timeout_notify_strategy (#12689)

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

caishunfeng 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 641a2559ea [fix-12687]when timeout_notify_strategy is null, modify timeout_notify_strategy (#12689)
641a2559ea is described below

commit 641a2559eafd02d95ced7a88c781c9d38379531a
Author: jackfanwan <61...@users.noreply.github.com>
AuthorDate: Wed Nov 9 11:48:12 2022 +0800

    [fix-12687]when timeout_notify_strategy is null, modify timeout_notify_strategy (#12689)
    
    * According to timeoutFlag, assign timeoutNotifyStrategy value
    
    Co-authored-by: fanwanlong <fa...@kezaihui.com>
---
 .../apache/dolphinscheduler/api/enums/Status.java  |  1 +
 .../service/impl/TaskDefinitionServiceImpl.java    |  5 +++
 .../dolphinscheduler/api/vo/TaskDefinitionVo.java  | 39 ++++------------------
 3 files changed, 13 insertions(+), 32 deletions(-)

diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/enums/Status.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/enums/Status.java
index 642b08d1e8..6e6b8fb072 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/enums/Status.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/enums/Status.java
@@ -355,6 +355,7 @@ public enum Status {
     PROJECT_PROCESS_NOT_MATCH(50054, "the project and the process is not match", "项目和工作流不匹配"),
     DELETE_EDGE_ERROR(50055, "delete edge error", "删除工作流任务连接线错误"),
     NOT_SUPPORT_UPDATE_TASK_DEFINITION(50056, "task state does not support modification", "当前任务不支持修改"),
+    TASK_DEFINITION_NOT_MODIFY_ERROR(50057, "task [{0}] definition not modify error", "任务[{0}]定义未修改错误"),
     BATCH_EXECUTE_PROCESS_INSTANCE_ERROR(50058, "change process instance status error: {0}", "修改工作实例状态错误: {0}"),
     START_TASK_INSTANCE_ERROR(50059, "start task instance error", "运行任务流实例错误"),
     DELETE_PROCESS_DEFINE_ERROR(50060, "delete process definition [{0}] error: {1}", "删除工作流定义[{0}]错误: {1}"),
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/TaskDefinitionServiceImpl.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/TaskDefinitionServiceImpl.java
index 78926e06ba..5fde6beda0 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/TaskDefinitionServiceImpl.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/TaskDefinitionServiceImpl.java
@@ -46,6 +46,7 @@ import org.apache.dolphinscheduler.common.enums.ConditionType;
 import org.apache.dolphinscheduler.common.enums.Flag;
 import org.apache.dolphinscheduler.common.enums.ReleaseState;
 import org.apache.dolphinscheduler.common.enums.TaskExecuteType;
+import org.apache.dolphinscheduler.common.enums.TimeoutFlag;
 import org.apache.dolphinscheduler.common.utils.CodeGenerateUtils;
 import org.apache.dolphinscheduler.common.utils.CodeGenerateUtils.CodeGenerateException;
 import org.apache.dolphinscheduler.common.utils.JSONUtils;
@@ -716,8 +717,12 @@ public class TaskDefinitionServiceImpl extends BaseServiceImpl implements TaskDe
         }
         TaskDefinitionLog taskDefinitionToUpdate =
                 JSONUtils.parseObject(taskDefinitionJsonObj, TaskDefinitionLog.class);
+        if (TimeoutFlag.CLOSE == taskDefinition.getTimeoutFlag()) {
+            taskDefinition.setTimeoutNotifyStrategy(null);
+        }
         if (taskDefinition.equals(taskDefinitionToUpdate)) {
             logger.warn("Task definition does not need update because no change, taskDefinitionCode:{}.", taskCode);
+            putMsg(result, Status.TASK_DEFINITION_NOT_MODIFY_ERROR, String.valueOf(taskCode));
             return null;
         }
         if (taskDefinitionToUpdate == null) {
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/vo/TaskDefinitionVo.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/vo/TaskDefinitionVo.java
index 0562b92da2..4a38842349 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/vo/TaskDefinitionVo.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/vo/TaskDefinitionVo.java
@@ -17,6 +17,7 @@
 
 package org.apache.dolphinscheduler.api.vo;
 
+import org.apache.dolphinscheduler.common.enums.TimeoutFlag;
 import org.apache.dolphinscheduler.dao.entity.ProcessTaskRelation;
 import org.apache.dolphinscheduler.dao.entity.TaskDefinition;
 
@@ -24,6 +25,8 @@ import java.util.List;
 
 import lombok.Data;
 
+import org.springframework.beans.BeanUtils;
+
 /**
  * @author fanwanlong
  */
@@ -44,38 +47,10 @@ public class TaskDefinitionVo extends TaskDefinition {
 
     public static TaskDefinitionVo fromTaskDefinition(TaskDefinition taskDefinition) {
         TaskDefinitionVo taskDefinitionVo = new TaskDefinitionVo();
-        taskDefinitionVo.setId(taskDefinition.getId());
-        taskDefinitionVo.setCode(taskDefinition.getCode());
-        taskDefinitionVo.setName(taskDefinition.getName());
-        taskDefinitionVo.setVersion(taskDefinition.getVersion());
-        taskDefinitionVo.setDescription(taskDefinition.getDescription());
-        taskDefinitionVo.setProjectCode(taskDefinition.getProjectCode());
-        taskDefinitionVo.setUserId(taskDefinition.getUserId());
-        taskDefinitionVo.setTaskType(taskDefinition.getTaskType());
-        taskDefinitionVo.setTaskParams(taskDefinition.getTaskParams());
-        taskDefinitionVo.setTaskParamList(taskDefinition.getTaskParamList());
-        taskDefinitionVo.setTaskParamMap(taskDefinition.getTaskParamMap());
-        taskDefinitionVo.setFlag(taskDefinition.getFlag());
-        taskDefinitionVo.setTaskPriority(taskDefinition.getTaskPriority());
-        taskDefinitionVo.setUserName(taskDefinition.getUserName());
-        taskDefinitionVo.setProjectName(taskDefinition.getProjectName());
-        taskDefinitionVo.setWorkerGroup(taskDefinition.getWorkerGroup());
-        taskDefinitionVo.setEnvironmentCode(taskDefinition.getEnvironmentCode());
-        taskDefinitionVo.setFailRetryTimes(taskDefinition.getFailRetryTimes());
-        taskDefinitionVo.setFailRetryInterval(taskDefinition.getFailRetryInterval());
-        taskDefinitionVo.setTimeoutFlag(taskDefinition.getTimeoutFlag());
-        taskDefinitionVo.setTimeoutNotifyStrategy(taskDefinition.getTimeoutNotifyStrategy());
-        taskDefinitionVo.setTimeout(taskDefinition.getTimeout());
-        taskDefinitionVo.setDelayTime(taskDefinition.getDelayTime());
-        taskDefinitionVo.setResourceIds(taskDefinition.getResourceIds());
-        taskDefinitionVo.setCreateTime(taskDefinition.getCreateTime());
-        taskDefinitionVo.setUpdateTime(taskDefinition.getUpdateTime());
-        taskDefinitionVo.setModifyBy(taskDefinition.getModifyBy());
-        taskDefinitionVo.setTaskGroupId(taskDefinition.getTaskGroupId());
-        taskDefinitionVo.setTaskGroupPriority(taskDefinition.getTaskGroupPriority());
-        taskDefinitionVo.setCpuQuota(taskDefinition.getCpuQuota());
-        taskDefinitionVo.setMemoryMax(taskDefinition.getMemoryMax());
-        taskDefinitionVo.setTaskExecuteType(taskDefinition.getTaskExecuteType());
+        BeanUtils.copyProperties(taskDefinition, taskDefinitionVo);
+        if (TimeoutFlag.CLOSE == taskDefinition.getTimeoutFlag()) {
+            taskDefinitionVo.setTimeoutNotifyStrategy(null);
+        }
         return taskDefinitionVo;
     }