Skip to content

Java SDK: Reject IDs that collide with task group join nodes - #74781

Draft
FrankYang0529 wants to merge 1 commit into
apache:mainfrom
FrankYang0529:java-sdk-reject-join-node-ids
Draft

FrankYang0529 wants to merge 1 commit into
apache:mainfrom
FrankYang0529:java-sdk-reject-join-node-ids

Conversation

@FrankYang0529

Copy link
Copy Markdown
Member

Why

  • The Java SDK lets a task or a nested group take one of those IDs, for example dag.taskGroup("transform").task("upstream_join_id", Clean.class). Airflow accepts the Dag, and the task dependencies in the Dag are right. But the Graph view shows the wrong edges. If a task runs upstream of the group, the edge from that task into the group disappears, and transform.upstream_join_id gets an edge to itself.
  • Python raises DuplicateTaskIdFound for the same Dag. The Go SDK also rejects that Dag.

How

  • DagDef.addTask and DagDef.addGroup reject an ID that is a join node ID of an existing group.
  • DagDef.addGroup also rejects a group when a task already has one of the group's join node IDs.

Was generative AI tooling used to co-author this PR?
  • Yes - Claude Code

Signed-off-by: PoAn Yang <payang@apache.org>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant