From 7f3b999e5c07cda458a9c670457f9e4dae5a3108 Mon Sep 17 00:00:00 2001 From: JinYong Li <42576980+JinyLeeChina@users.noreply.github.com> Date: Mon, 15 Nov 2021 00:11:29 +0800 Subject: [PATCH] upgrade add sub_process (#6845) --- .../dolphinscheduler/dao/upgrade/UpgradeDao.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/upgrade/UpgradeDao.java b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/upgrade/UpgradeDao.java index 7612397618..f4b097f4ec 100644 --- a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/upgrade/UpgradeDao.java +++ b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/upgrade/UpgradeDao.java @@ -637,6 +637,7 @@ public abstract class UpgradeDao { ObjectNode task = (ObjectNode) tasks.path(i); ObjectNode param = (ObjectNode) task.get("params"); TaskDefinitionLog taskDefinitionLog = new TaskDefinitionLog(); + String taskType = task.get("type").asText(); if (param != null) { JsonNode resourceJsonNode = param.get("resourceList"); if (resourceJsonNode != null && !resourceJsonNode.isEmpty()) { @@ -646,6 +647,13 @@ public abstract class UpgradeDao { } else { taskDefinitionLog.setResourceIds(StringUtils.EMPTY); } + if (TaskType.SUB_PROCESS.getDesc().equals(taskType)) { + JsonNode jsonNodeDefinitionId = param.get("processDefinitionId"); + if (jsonNodeDefinitionId != null) { + param.put("processDefinitionCode", processDefinitionMap.get(jsonNodeDefinitionId.asInt()).getCode()); + param.remove("processDefinitionId"); + } + } param.put("conditionResult", task.get("conditionResult")); param.put("dependence", task.get("dependence")); taskDefinitionLog.setTaskParams(JSONUtils.toJsonString(param)); @@ -658,9 +666,9 @@ public abstract class UpgradeDao { } taskDefinitionLog.setDescription(task.get("description").asText()); taskDefinitionLog.setFlag(Constants.FLOWNODE_RUN_FLAG_NORMAL.equals(task.get("runFlag").asText()) ? Flag.YES : Flag.NO); - taskDefinitionLog.setTaskType(task.get("type").asText()); - taskDefinitionLog.setFailRetryInterval(task.get("retryInterval").asInt()); - taskDefinitionLog.setFailRetryTimes(task.get("maxRetryTimes").asInt()); + taskDefinitionLog.setTaskType(taskType); + taskDefinitionLog.setFailRetryInterval(TaskType.SUB_PROCESS.getDesc().equals(taskType) ? 1 : task.get("retryInterval").asInt()); + taskDefinitionLog.setFailRetryTimes(TaskType.SUB_PROCESS.getDesc().equals(taskType) ? 0 : task.get("maxRetryTimes").asInt()); taskDefinitionLog.setTaskPriority(JSONUtils.parseObject(JSONUtils.toJsonString(task.get("taskInstancePriority")), Priority.class)); String name = task.get("name").asText(); taskDefinitionLog.setName(name);