Browse Source

[Bug][API] fix ProcessDefinition update error #8334 (#8338) (#8354)

* [bug] fix task definition delete

* [bug] fix ProcessDefinition update error #8334

* [bug] fix ProcessDefinition update error #8334

Co-authored-by: edward-yang <yangjianh210@gmail.com>

Co-authored-by: edward-yang <yangjianh210@gmail.com>
2.0.7-release
EdwardYang 2 years ago committed by GitHub
parent
commit
cf19ff000b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 12
      dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessDefinitionServiceImpl.java

12
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessDefinitionServiceImpl.java

@ -581,13 +581,15 @@ public class ProcessDefinitionServiceImpl extends BaseServiceImpl implements Pro
if (processDefinition.equals(processDefinitionDeepCopy) && saveTaskResult == Constants.EXIT_CODE_SUCCESS) {
List<ProcessTaskRelationLog> processTaskRelationLogList = processTaskRelationLogMapper.queryByProcessCodeAndVersion(processDefinition.getCode(), processDefinition.getVersion());
if (taskRelationList.size() == processTaskRelationLogList.size()) {
Map<Long, ProcessTaskRelationLog> taskRelationLogMap =
taskRelationList.stream().collect(Collectors.toMap(ProcessTaskRelationLog::getPostTaskCode, processTaskRelationLog -> processTaskRelationLog));
for (ProcessTaskRelationLog processTaskRelationLog : taskRelationList) {
if (!processTaskRelationLog.equals(taskRelationLogMap.get(processTaskRelationLog.getPostTaskCode()))) {
Set<ProcessTaskRelationLog> taskRelationSet = taskRelationList.stream().collect(Collectors.toSet());
Set<ProcessTaskRelationLog> processTaskRelationLogSet = processTaskRelationLogList.stream().collect(Collectors.toSet());
if (taskRelationSet.size() == processTaskRelationLogSet.size()) {
taskRelationSet.removeAll(processTaskRelationLogSet);
if (!taskRelationSet.isEmpty()) {
isChange = true;
break;
}
} else {
isChange = true;
}
} else {
isChange = true;

Loading…
Cancel
Save