Browse Source

[Fix-11465] Serial first, the last executing instance will be stopped (#11466)

* Serial first, the last executing instance will be stopped

* ut fix
3.1.0-release
JiPeng Wang 2 years ago committed by GitHub
parent
commit
13d400ceb6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 11
      dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/process/ProcessServiceImpl.java
  2. 2
      dolphinscheduler-service/src/test/java/org/apache/dolphinscheduler/service/process/ProcessServiceTest.java

11
dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/process/ProcessServiceImpl.java

@ -341,16 +341,7 @@ public class ProcessServiceImpl implements ProcessService {
processInstance.getProcessDefinitionCode(),
processInstance.getProcessDefinitionVersion(), Constants.RUNNING_PROCESS_STATE,
processInstance.getId());
if (CollectionUtils.isEmpty(runningProcessInstances)) {
processInstance.setState(WorkflowExecutionStatus.SUBMITTED_SUCCESS);
saveProcessInstance(processInstance);
return;
}
for (ProcessInstance info : runningProcessInstances) {
if (Objects.nonNull(info.getState()) && (WorkflowExecutionStatus.READY_STOP.equals(info.getState())
|| info.getState().isFinished())) {
continue;
}
info.setCommandType(CommandType.STOP);
info.addHistoryCmd(CommandType.STOP);
info.setState(WorkflowExecutionStatus.READY_STOP);
@ -368,6 +359,8 @@ public class ProcessServiceImpl implements ProcessService {
}
}
}
processInstance.setState(WorkflowExecutionStatus.SUBMITTED_SUCCESS);
saveProcessInstance(processInstance);
}
}

2
dolphinscheduler-service/src/test/java/org/apache/dolphinscheduler/service/process/ProcessServiceTest.java

@ -471,7 +471,7 @@ public class ProcessServiceTest {
Mockito.when(processInstanceMapper.updateById(processInstance)).thenReturn(1);
Mockito.when(commandMapper.deleteById(9)).thenReturn(1);
ProcessInstance processInstance10 = processService.handleCommand(host, command9);
Assert.assertTrue(processInstance10 == null);
Assert.assertTrue(processInstance10 != null);
}
@Test(expected = ServiceException.class)

Loading…
Cancel
Save