The Memory Circuit Breaker prevented this evaluation from completing due to insufficient resources.
Our user case is, We have an UI to manage the tasks where we have 2 dropdowns, Task Name and Precedent task name as shown below.
Task Name -> Precedent Task Name
Task A -> ------
Task B -> Task A
Task C -> Task B
Condition is,
Task B can be dependent on Task A but Task A cannot be dependent on Task B
Tasks B & C can be dependent on Task A but Task A cannot be dependent on Task B or C
Task B can be dependent on Task A and Task C can be dependent on Task B, but Task A cannot be dependent on Task C.
Basically the requirement is to prevent creating circular logic among tasks. Since Task B is dependent on Task A, only if Task A is completed then Task B can be enabled. When user selects Task B or Task C as the precedent task for Task A, then a circular dependency will be created, hence to avoid this when user select B or C as Precedent task for Task A in UI, an error message should be shown.
Today we have 3 levels, in future we may have more levels, hence we have implemented the logic for N levels using recursive call, but now the problem is, we are facing Circuit Breaker issue. Is there any other option to achieve this N level logic other than recursive call please suggest.
Error:
Expression evaluation error [evaluation ID = 9cb0a:86a20] in rule 'abc_retrieveallprecedenttasks' (called by rules 'abc_retrieveallprecedenttasks' > 'abc_configurenewtaskforworkflow' > 'abc_manageworkflow') : The Memory Circuit Breaker prevented this evaluation from completing due to insufficient resources. Please contact your system administrator. (APNX-1-4510-000) (APNX-1-4510-000)
