This topic describes what a node dependency loop is, why it occurs, and how to resolve it.
What is a node dependency loop?
A node dependency loop occurs when an upstream node also depends on one of its own downstream nodes. This creates a circular dependency that prevents automatic scheduling from triggering the involved nodes. In a production environment, DataWorks automatically triggers an alert when it detects a node dependency loop. For more information, see Monitoring and alerts for node dependency loops.
Causes and solutions
A circular dependency forms when an upstream node also depends on one of its downstream nodes. You must analyze your workflow to identify and remove this dependency.
For example, a downstream node might need to process data that an upstream node produced in the previous scheduling cycle. If the downstream node is incorrectly configured to depend on the upstream node from the same scheduling cycle, this creates a node dependency loop. To resolve this, you must reconfigure the dependency to be cross-cycle, making the downstream node depend on the output from the previous scheduling cycle.
-
Example: In the scenario shown in the following figure, automatic dependency parsing creates a loop if upstream node A queries data from Table C to produce output for Table A, downstream node B processes data from Table A and writes to Table B, and then node C processes data from Table B and writes back to Table C.
-
Solution: Analyze your workflow and remove the circular dependency. In the example shown, if your business logic requires node A to use data produced by node C, you should configure a cross-cycle dependency. This allows node A to depend on the output of node C from the previous scheduling cycle, which breaks the loop.

Monitoring and alerts for node dependency loops
To ensure scheduled tasks generate instances and run as expected, DataWorks uses built-in rules to periodically scan for issues. When DataWorks detects a node dependency loop, it automatically sends an alert. If you receive an alert about a node dependency loop, you must resolve it promptly.
-
DataWorks scans the status of scheduled tasks at 09:00, 12:00, 16:00, 20:00, and 22:00 every day. If DataWorks detects an exception, it automatically sends an alert. The scan does not include exceptions that occur within 10 minutes before a scan time. DataWorks includes these exceptions in the next scan cycle.
-
The alert for a node dependency loop is a built-in rule and does not need to be created manually. By default, alerts are sent to the node owner by text message and email. You can change the alert recipients for this global rule on the Rule Management page. For more information, see rule management.