You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Record mapped_length for Java SDK tasks with mapped dependants #71061
A Java task's return value cannot currently feed a downstream .expand(). The Python task runner does this in _push_xcom_if_needed, but a foreign runtime cannot inspect the Dag to learn that its output has mapped dependants.
#70571 introduces the server-derived TIRunContext.has_mapped_dependants flag (computed from iter_mapped_dependants); when set, the supervisor records mapped_length = len(value) on the return-value SetXCom on the task's behalf, so the scheduler can expand the dependants.
What needs to happen
Confirm whether the supervisor-side recording from Bind mapped stub-task arguments in the Go SDK runtime #70571 is language-agnostic. If it is, this issue reduces to Java-side verification plus tests; if any of it is Go-specific, lift it into the shared coordinator/supervisor path.
Ensure the Java SDK surfaces has_mapped_dependants on its context object where it is useful to task authors.
Cover the flow end to end: a Java @task.stub returning a list, with a downstream Python .expand() over it.
Acceptance criteria
A Java stub task whose return value feeds a downstream .expand() causes those dependants to expand to len(value) instances.
A Java task with no mapped dependants records no mapped_length (no behaviour change).
The version gate is respected: pre-arg-bindings clients skip the derivation entirely.
Activity