Open MaskedMenhxy opened 1 month ago
The phenomenon is as follows:
This is logs
I want to be able to continue executing tasks normally or discard old tasks that are waiting in serial
Troubleshooting steps:
My analysis: The master node may be overloaded, resulting in the inactivation of the master node. In this case, The generated workflow instance fails to be updated from “wait by serial_wait strategy ” to “submit from serial_wait strategy”. Then the status value of the workflow instance in the database stays at "wait by serial_wait strategy", and the next scheduled workflow instance, Before updating himself from “wait by serial_wait strategy ” to “submit from serial_wait strategy”, A workflow instance whose id is smaller than its own is in the “wait by serial_wait strategy” state. Procedure The “submit from serial_wait strategy ” status is not updated. Because of this, all future workflow instances will stay in the "wait by serial_wait strategy" state, resulting in task stacking.
The relevant code is as follows: org.apache.dolphinscheduler.service.process.ProcessServiceImpl#saveSerialProcess
3.2.x
This will be fix in #16327 .
@SbloodyS Thanks for your help!
Search before asking
What happened
The phenomenon is as follows:
This is logs
What you expected to happen
I want to be able to continue executing tasks normally or discard old tasks that are waiting in serial
How to reproduce
Troubleshooting steps:
Anything else
My analysis: The master node may be overloaded, resulting in the inactivation of the master node. In this case, The generated workflow instance fails to be updated from “wait by serial_wait strategy ” to “submit from serial_wait strategy”. Then the status value of the workflow instance in the database stays at "wait by serial_wait strategy", and the next scheduled workflow instance, Before updating himself from “wait by serial_wait strategy ” to “submit from serial_wait strategy”, A workflow instance whose id is smaller than its own is in the “wait by serial_wait strategy” state. Procedure The “submit from serial_wait strategy ” status is not updated. Because of this, all future workflow instances will stay in the "wait by serial_wait strategy" state, resulting in task stacking.
The relevant code is as follows: org.apache.dolphinscheduler.service.process.ProcessServiceImpl#saveSerialProcess
Version
3.2.x
Are you willing to submit PR?
Code of Conduct