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 <[email protected]>
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 <[email protected]>
---
.../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;
}