-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Description
Issue:
The RoundRobin node currently wraps around to its first child after the last one succeeds. When used as recovery within a RecoveryNode (e.g., here), its index can become misaligned with the RecoveryNode’s retry counter. This happens because RoundRobin skips children that return FAILURE, while the RecoveryNode assumes each attempt corresponds to a distinct child. If the RecoveryNode’s number_of_retries equals the number of RoundRobin children, there is a risk that RoundRobin wraps around and executes some children more than once.
Proposed enhancement:
Introduce a boolean parameter that, when enabled, causes RoundRobin to return FAILURE instead of wrapping around. This would signal to the RecoveryNode that all recovery actions have been exhausted, allowing the failure to propagate appropriately.