Search before asking
Motivation
Current dependency mode configuration in frontend cannot connect the complement data dependency enabling action with downstream workflows. We want to improve the Complement Data process so that, it correctly triggers the downstream workflows according to the selected dependency mode. This enhancement will support two dependency modes.
The current DSIP replaces and close #17741
Design Detail
- Supports a toggle to trigger either all downstream dependencies or only direct downstream. Default is off, triggering only the next layer; when on, recursively triggers all downstream workflow levels.
- Implement traversal logic for recursive triggering, with protection against cycles and duplicate triggering.
- Update UI to reflect mode and ensure users can select preferred behavior.
- Add tests for both triggering modes.
Compatibility, Deprecation, and Migration Plan
This improvement does not introduce breaking changes to existing workflows, but recursive triggering should be idempotent to prevent duplicate executions. Cycle detection will be implemented to protect against circular dependencies.
Test Plan
- Verify direct and recursive triggering work correctly for various workflow dependency graphs.
- Add automated tests on workflow DAGs for both dependency modes.
- Manual test for large-scale workflow with complex dependencies to ensure reliability and performance.
- Test cycle detection and duplicate triggering prevention.
Code of Conduct
Search before asking
Motivation
Current dependency mode configuration in frontend cannot connect the complement data dependency enabling action with downstream workflows. We want to improve the Complement Data process so that, it correctly triggers the downstream workflows according to the selected dependency mode. This enhancement will support two dependency modes.
The current DSIP replaces and close #17741
Design Detail
Compatibility, Deprecation, and Migration Plan
This improvement does not introduce breaking changes to existing workflows, but recursive triggering should be idempotent to prevent duplicate executions. Cycle detection will be implemented to protect against circular dependencies.
Test Plan
Code of Conduct