From 73b505f6397155ccdd007cf5fcabca9f6cc6447f Mon Sep 17 00:00:00 2001 From: Aaron Wang Date: Mon, 24 Apr 2023 11:44:45 +0800 Subject: [PATCH] [Bug][API] update processInstance bug (#13991) --- .../api/controller/ProcessInstanceController.java | 7 ++----- .../api/service/ProcessInstanceService.java | 4 +--- .../api/service/impl/ProcessInstanceServiceImpl.java | 8 +++----- .../api/controller/ProcessInstanceControllerTest.java | 2 +- .../api/service/ProcessInstanceServiceTest.java | 10 +++++----- 5 files changed, 12 insertions(+), 19 deletions(-) diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ProcessInstanceController.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ProcessInstanceController.java index a3e9cab585..b64f51a70b 100644 --- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ProcessInstanceController.java +++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ProcessInstanceController.java @@ -175,7 +175,6 @@ public class ProcessInstanceController extends BaseController { @Parameter(name = "globalParams", description = "PROCESS_GLOBAL_PARAMS", schema = @Schema(implementation = String.class, example = "[]")), @Parameter(name = "locations", description = "PROCESS_INSTANCE_LOCATIONS", schema = @Schema(implementation = String.class)), @Parameter(name = "timeout", description = "PROCESS_TIMEOUT", schema = @Schema(implementation = int.class, example = "0")), - @Parameter(name = "tenantCode", description = "TENANT_CODE", schema = @Schema(implementation = String.class, example = "default")) }) @PutMapping(value = "/{id}") @ResponseStatus(HttpStatus.OK) @@ -190,11 +189,9 @@ public class ProcessInstanceController extends BaseController { @RequestParam(value = "syncDefine", required = true) Boolean syncDefine, @RequestParam(value = "globalParams", required = false, defaultValue = "[]") String globalParams, @RequestParam(value = "locations", required = false) String locations, - @RequestParam(value = "timeout", required = false, defaultValue = "0") int timeout, - @RequestParam(value = "tenantCode", required = true) String tenantCode) { + @RequestParam(value = "timeout", required = false, defaultValue = "0") int timeout) { Map result = processInstanceService.updateProcessInstance(loginUser, projectCode, id, - taskRelationJson, taskDefinitionJson, scheduleTime, syncDefine, globalParams, locations, timeout, - tenantCode); + taskRelationJson, taskDefinitionJson, scheduleTime, syncDefine, globalParams, locations, timeout); return returnDataList(result); } diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/ProcessInstanceService.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/ProcessInstanceService.java index f866fc9313..304d0139e2 100644 --- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/ProcessInstanceService.java +++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/ProcessInstanceService.java @@ -148,7 +148,6 @@ public interface ProcessInstanceService { * @param globalParams global params * @param locations locations for nodes * @param timeout timeout - * @param tenantCode tenantCode * @return update result code */ Map updateProcessInstance(User loginUser, @@ -160,8 +159,7 @@ public interface ProcessInstanceService { Boolean syncDefine, String globalParams, String locations, - int timeout, - String tenantCode); + int timeout); /** * query parent process instance detail info by sub process instance id diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessInstanceServiceImpl.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessInstanceServiceImpl.java index 6fb10fd431..5c804241b3 100644 --- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessInstanceServiceImpl.java +++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessInstanceServiceImpl.java @@ -607,7 +607,6 @@ public class ProcessInstanceServiceImpl extends BaseServiceImpl implements Proce * @param globalParams global params * @param locations locations for nodes * @param timeout timeout - * @param tenantCode tenantCode * @return update result code */ @Transactional @@ -616,7 +615,7 @@ public class ProcessInstanceServiceImpl extends BaseServiceImpl implements Proce String taskRelationJson, String taskDefinitionJson, String scheduleTime, Boolean syncDefine, String globalParams, - String locations, int timeout, String tenantCode) { + String locations, int timeout) { Project project = projectMapper.queryByCode(projectCode); // check user access for project Map result = @@ -655,7 +654,7 @@ public class ProcessInstanceServiceImpl extends BaseServiceImpl implements Proce timezoneId = commandParamMap.get(Constants.SCHEDULE_TIMEZONE); } - setProcessInstance(processInstance, tenantCode, scheduleTime, globalParams, timeout, timezoneId); + setProcessInstance(processInstance, scheduleTime, globalParams, timeout, timezoneId); List taskDefinitionLogs = JSONUtils.toList(taskDefinitionJson, TaskDefinitionLog.class); if (taskDefinitionLogs.isEmpty()) { log.warn("Parameter taskDefinitionJson is empty"); @@ -736,7 +735,7 @@ public class ProcessInstanceServiceImpl extends BaseServiceImpl implements Proce /** * update process instance attributes */ - private void setProcessInstance(ProcessInstance processInstance, String tenantCode, String scheduleTime, + private void setProcessInstance(ProcessInstance processInstance, String scheduleTime, String globalParams, int timeout, String timezone) { Date schedule = processInstance.getScheduleTime(); if (scheduleTime != null) { @@ -749,7 +748,6 @@ public class ProcessInstanceServiceImpl extends BaseServiceImpl implements Proce globalParams = curingGlobalParamsService.curingGlobalParams(processInstance.getId(), globalParamMap, globalParamList, processInstance.getCmdTypeIfComplement(), schedule, timezone); processInstance.setTimeout(timeout); - processInstance.setTenantCode(tenantCode); processInstance.setGlobalParams(globalParams); } diff --git a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/ProcessInstanceControllerTest.java b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/ProcessInstanceControllerTest.java index b0f36c9c56..9a45627d5c 100644 --- a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/ProcessInstanceControllerTest.java +++ b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/ProcessInstanceControllerTest.java @@ -108,7 +108,7 @@ public class ProcessInstanceControllerTest extends AbstractControllerTest { Mockito.when(processInstanceService .updateProcessInstance(Mockito.any(), Mockito.anyLong(), Mockito.anyInt(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.anyBoolean(), Mockito.anyString(), - Mockito.anyString(), Mockito.anyInt(), Mockito.anyString())) + Mockito.anyString(), Mockito.anyInt())) .thenReturn(mockResult); String json = diff --git a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/ProcessInstanceServiceTest.java b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/ProcessInstanceServiceTest.java index b35b9ccf3c..905b8aabaf 100644 --- a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/ProcessInstanceServiceTest.java +++ b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/ProcessInstanceServiceTest.java @@ -555,7 +555,7 @@ public class ProcessInstanceServiceTest { when(projectMapper.queryByCode(projectCode)).thenReturn(project); when(projectService.checkProjectAndAuth(loginUser, project, projectCode, INSTANCE_UPDATE)).thenReturn(result); Map projectAuthFailRes = processInstanceService.updateProcessInstance(loginUser, projectCode, 1, - shellJson, taskJson, "2020-02-21 00:00:00", true, "", "", 0, ""); + shellJson, taskJson, "2020-02-21 00:00:00", true, "", "", 0); Assertions.assertEquals(Status.PROJECT_NOT_FOUND, projectAuthFailRes.get(Constants.STATUS)); // process instance null @@ -566,7 +566,7 @@ public class ProcessInstanceServiceTest { when(processService.findProcessInstanceDetailById(1)).thenReturn(Optional.empty()); Assertions.assertThrows(ServiceException.class, () -> { processInstanceService.updateProcessInstance(loginUser, projectCode, 1, - shellJson, taskJson, "2020-02-21 00:00:00", true, "", "", 0, ""); + shellJson, taskJson, "2020-02-21 00:00:00", true, "", "", 0); }); // process instance not finish when(processService.findProcessInstanceDetailById(1)).thenReturn(Optional.ofNullable(processInstance)); @@ -574,7 +574,7 @@ public class ProcessInstanceServiceTest { putMsg(result, Status.SUCCESS, projectCode); Map processInstanceNotFinishRes = processInstanceService.updateProcessInstance(loginUser, projectCode, 1, - shellJson, taskJson, "2020-02-21 00:00:00", true, "", "", 0, ""); + shellJson, taskJson, "2020-02-21 00:00:00", true, "", "", 0); Assertions.assertEquals(Status.PROCESS_INSTANCE_STATE_OPERATION_ERROR, processInstanceNotFinishRes.get(Constants.STATUS)); @@ -602,7 +602,7 @@ public class ProcessInstanceServiceTest { when(taskPluginManager.checkTaskParameters(Mockito.any())).thenReturn(true); Map processInstanceFinishRes = processInstanceService.updateProcessInstance(loginUser, projectCode, 1, - taskRelationJson, taskDefinitionJson, "2020-02-21 00:00:00", true, "", "", 0, "root"); + taskRelationJson, taskDefinitionJson, "2020-02-21 00:00:00", true, "", "", 0); Assertions.assertEquals(Status.SUCCESS, processInstanceFinishRes.get(Constants.STATUS)); // success @@ -612,7 +612,7 @@ public class ProcessInstanceServiceTest { when(processService.saveProcessDefine(loginUser, processDefinition, Boolean.FALSE, Boolean.FALSE)) .thenReturn(1); Map successRes = processInstanceService.updateProcessInstance(loginUser, projectCode, 1, - taskRelationJson, taskDefinitionJson, "2020-02-21 00:00:00", Boolean.FALSE, "", "", 0, "root"); + taskRelationJson, taskDefinitionJson, "2020-02-21 00:00:00", Boolean.FALSE, "", "", 0); Assertions.assertEquals(Status.SUCCESS, successRes.get(Constants.STATUS)); }