Fix recover pause workflowInstance may generate failover taskInstance (#15611)

This commit is contained in:
Wenjun Ruan 2024-02-22 15:57:08 +08:00 committed by GitHub
parent 5213290262
commit 2b4c1e06b6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 4 additions and 3 deletions

View File

@ -1285,9 +1285,10 @@ public class WorkflowExecuteRunnable implements IWorkflowExecuteRunnable {
|| state == TaskExecutionStatus.SUBMITTED_SUCCESS || state == TaskExecutionStatus.SUBMITTED_SUCCESS
|| state == TaskExecutionStatus.DELAY_EXECUTION) { || state == TaskExecutionStatus.DELAY_EXECUTION) {
// try to take over task instance // try to take over task instance
if (state != TaskExecutionStatus.SUBMITTED_SUCCESS if (state == TaskExecutionStatus.SUBMITTED_SUCCESS || state == TaskExecutionStatus.DELAY_EXECUTION
&& state != TaskExecutionStatus.DELAY_EXECUTION || state == TaskExecutionStatus.DISPATCH) {
&& tryToTakeOverTaskInstance(existTaskInstance)) { // The taskInstance is not in running, directly takeover it
} else if (tryToTakeOverTaskInstance(existTaskInstance)) {
log.info("Success take over task {}", existTaskInstance.getName()); log.info("Success take over task {}", existTaskInstance.getName());
continue; continue;
} else { } else {