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;
}