Skip to content

[DSIP-95][API] Complete the functionality of using dependencies in the complement data #17748

@det101

Description

@det101

Search before asking

  • I had searched in the DSIP and found no similar DSIP.

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

  • Add implementation for frontend dependency mode switching
  • 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

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions