What is a Circular Dependency Loop?

If you received an email notification titled "Flowsana notification: Circular dependency loop detected", it means that in the project listed in the email, you have a task which is dependent on itself. This creates an endless update loop where Flowsana updates the task's date, then because it needs to update the tasks's dependencies, it updates the task's date again, which again triggers it to update the task's date again, and that loop repeats endlessly.

Flowsana has intelligence built into it to detect such loops. When it detects one, it sends that notification email, and then it deactivates the project's workflow, to prevent the update loop from continuing on endlessly.

You can see that a project's workflow is deactivated on your My Workflows screen in the Flowsana portal: there is a "Deactivated by System" column which indicates any workflows which have been disabled due to a circular loop.


What should you do about it?

If you receive the notification discussed above, you'll need to find and correct the loop by breaking the circular reference. The email will help you by listing one of the tasks involved in the loop. Go to the project, look for that task, and start examining the tasks which that task is dependent on and those which are dependent on it. You're looking for a case like the one illustrated above. Be aware that there's no telling how complex the task chain could be; you could have Task 1 which is dependent on Task 2 which is dependent on Task 3, etc. all the way down, let's say, 10 more tasks, and then Task 14 is dependent back onto Task 1.

It's often helpful to grab a piece of paper and literally map out the dependencies with boxes for tasks and arrows between them to represent the dependencies. When you can see the trails flow visually, it often helps to find the circular loop.

Also, please note that you may find task dates which are wildly off from what they should be. The issue is that once your project hits a circular-dependency state, it's in a loop which keeps pushing tasks out more and more until the dependency is detected and the workflow disables itself. But it can take a little while for the circular-dependency check process to run to completion, so by the time it detects a loop, the "damage is done" and your dates can be wildly off. If you find this situation, you'll need to manually readjust the errant task dates before having the workflow re-enabled.

As mentioned above, when a circular loop is detected, Flowsana deactivates that project's workflow - so its very important that once you find and correct the loop situation, you then contact support@flowsana.net  and let us know the problem has been corrected so that we can reactivate the workflow.