caishunfeng commented on code in PR #12692:
URL: 
https://github.com/apache/dolphinscheduler/pull/12692#discussion_r1013668408


##########
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/TaskDefinitionServiceImpl.java:
##########
@@ -765,6 +765,27 @@ private TaskDefinitionLog updateTask(User loginUser, long 
projectCode, long task
             logger.info(
                     "Update task definition and definitionLog complete, 
projectCode:{}, taskDefinitionCode:{}, newTaskVersion:{}.",
                     projectCode, taskCode, 
taskDefinitionToUpdate.getVersion());
+        // update process task relation
+        List<ProcessTaskRelation> processTaskRelations = 
processTaskRelationMapper
+                .queryByTaskCode(taskDefinitionToUpdate.getCode());
+        if (CollectionUtils.isNotEmpty(processTaskRelations)) {
+            for (ProcessTaskRelation processTaskRelation : 
processTaskRelations) {
+                if (taskCode == processTaskRelation.getPreTaskCode()) {
+                    processTaskRelation.setPreTaskVersion(version);
+                } else if (taskCode == processTaskRelation.getPostTaskCode()) {
+                    processTaskRelation.setPostTaskVersion(version);
+                }
+            }
+            for (ProcessTaskRelation processTaskRelation : 
processTaskRelations) {
+                int count = 
processTaskRelationMapper.updateProcessTaskRelationTaskVersion(processTaskRelation);
+                if (count != 1) {
+                    logger.error("batch update process task relation error, 
projectCode:{}, taskDefinitionCode:{}.",
+                            projectCode, taskCode);
+                    putMsg(result, 
Status.PROCESS_TASK_RELATION_BATCH_UPDATE_ERROR);
+                    throw new 
ServiceException(Status.PROCESS_TASK_RELATION_BATCH_UPDATE_ERROR);
+                }
+            }

Review Comment:
   ```suggestion
               for (ProcessTaskRelation processTaskRelation : 
processTaskRelations) {
                   if (taskCode == processTaskRelation.getPreTaskCode()) {
                       processTaskRelation.setPreTaskVersion(version);
                   } else if (taskCode == 
processTaskRelation.getPostTaskCode()) {
                       processTaskRelation.setPostTaskVersion(version);
                   }
                   int count = 
processTaskRelationMapper.updateProcessTaskRelationTaskVersion(processTaskRelation);
                   if (count != 1) {
                       logger.error("batch update process task relation error, 
projectCode:{}, taskDefinitionCode:{}.",
                               projectCode, taskCode);
                       putMsg(result, 
Status.PROCESS_TASK_RELATION_BATCH_UPDATE_ERROR);
                       throw new 
ServiceException(Status.PROCESS_TASK_RELATION_BATCH_UPDATE_ERROR);
                   }
               }
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to