This is an automated email from the ASF dual-hosted git repository.
leonbao 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 c5bde33 [Upgrade][install] upgrade compatibility exception (#7030)
c5bde33 is described below
commit c5bde33ac01b143e0c3394e24170d6034c942dd0
Author: JinYong Li <[email protected]>
AuthorDate: Mon Nov 29 15:07:47 2021 +0800
[Upgrade][install] upgrade compatibility exception (#7030)
* upgrade compatibility exception
* upgrade compatibility exception
---
.../apache/dolphinscheduler/dao/upgrade/UpgradeDao.java | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 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 bbbd1bd..d2ce104 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
@@ -474,7 +474,7 @@ public abstract class UpgradeDao {
ObjectNode jsonObject = JSONUtils.parseObject(entry.getValue());
ProcessDefinition processDefinition =
processDefinitionMap.get(entry.getKey());
if (processDefinition != null) {
-
processDefinition.setTenantId(jsonObject.get("tenantId").asInt());
+ processDefinition.setTenantId(jsonObject.get("tenantId") ==
null ? -1 : jsonObject.get("tenantId").asInt());
processDefinition.setTimeout(jsonObject.get("timeout").asInt());
processDefinition.setGlobalParams(jsonObject.get("globalParams").toString());
} else {
@@ -517,7 +517,9 @@ public abstract class UpgradeDao {
taskDefinitionLog.setTimeoutFlag(timeout.getEnable() ?
TimeoutFlag.OPEN : TimeoutFlag.CLOSE);
taskDefinitionLog.setTimeoutNotifyStrategy(timeout.getStrategy());
}
-
taskDefinitionLog.setDescription(task.get("description").asText());
+ String desc = task.get("description") != null ?
task.get("description").asText() :
+ task.get("desc") != null ? task.get("desc").asText() : "";
+ taskDefinitionLog.setDescription(desc);
taskDefinitionLog.setFlag(Constants.FLOWNODE_RUN_FLAG_NORMAL.equals(task.get("runFlag").asText())
? Flag.YES : Flag.NO);
taskDefinitionLog.setTaskType(taskType);
taskDefinitionLog.setFailRetryInterval(TaskType.SUB_PROCESS.getDesc().equals(taskType)
? 1 : task.get("retryInterval").asInt());
@@ -525,7 +527,7 @@ public abstract class UpgradeDao {
taskDefinitionLog.setTaskPriority(JSONUtils.parseObject(JSONUtils.toJsonString(task.get("taskInstancePriority")),
Priority.class));
String name = task.get("name").asText();
taskDefinitionLog.setName(name);
-
taskDefinitionLog.setWorkerGroup(task.get("workerGroup").asText());
+ taskDefinitionLog.setWorkerGroup(task.get("workerGroup") ==
null ? "default" : task.get("workerGroup").asText());
long taskCode = CodeGenerateUtils.getInstance().genCode();
taskDefinitionLog.setCode(taskCode);
taskDefinitionLog.setVersion(Constants.VERSION_FIRST);
@@ -631,12 +633,17 @@ public abstract class UpgradeDao {
dependItem.put("projectCode",
projectIdCodeMap.get(dependItem.get("projectId").asInt()));
int definitionId =
dependItem.get("definitionId").asInt();
Map<Long, Map<String, Long>>
processCodeTaskNameCodeMap = processTaskMap.get(definitionId);
+ if (processCodeTaskNameCodeMap == null) {
+ logger.warn("We can't find processDefinition [{}],
please check it is not exist, remove this dependence", definitionId);
+ dependItemList.remove(j);
+ continue;
+ }
Optional<Map.Entry<Long, Map<String, Long>>> mapEntry
= processCodeTaskNameCodeMap.entrySet().stream().findFirst();
if (mapEntry.isPresent()) {
Map.Entry<Long, Map<String, Long>>
processCodeTaskNameCodeEntry = mapEntry.get();
dependItem.put("definitionCode",
processCodeTaskNameCodeEntry.getKey());
String depTasks =
dependItem.get("depTasks").asText();
- long taskCode = "ALL".equals(depTasks) ? 0L :
processCodeTaskNameCodeEntry.getValue().get(depTasks);
+ long taskCode = "ALL".equals(depTasks) ||
processCodeTaskNameCodeEntry.getValue() == null ? 0L :
processCodeTaskNameCodeEntry.getValue().get(depTasks);
dependItem.put("depTaskCode", taskCode);
}
dependItem.remove("projectId");