Details
-
Fix
-
Status: Released (View Workflow)
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
Current Situation
The Agent may execute workflow sections twice and then the Controller may crash after receiving unexpected events from the Agent. This may occur when the communication between Controller and Agent is severely disturbed.
The probability for the behaviour sinks with the execution time at the Agent.
- The Controller sends Orders to an Agent via an internal AttachOrder command.
- When the Controller doesn't get the response within a minute, then it repeats the operation, even if the Agent has gotten and executed the command (because the Controller cannot know this).
- In case the Agent has quickly finished the Order, the Agent execute the Orders's jobs again. This is must not happen.
- The Controller crashes due to unexpected Events from the Agent.
Solution
When sending a DetachOrder command for the same Order, the Controller cancels a pending AttachOrder command.
- Before DetachOrder, the Agent rejects a duplicate AttachOrder because the Order is already attached.
- Fixed: After DetachOrder, the Controller no longer repeats AttachOrder because the command has been removed from the queue.