The GitHub Actions job "Tests (AMD)" on airflow.git/feature/java-sdk-native-dag 
has failed.
Run started by GitHub user jason810496 (triggered by jason810496).

Head commit for run:
c6983382eee6534ea50a08179c040a92f338637e / LIU ZHE YOU <[email protected]>
Java SDK: Author complete Dags in Java without a Python stub file

Until now the Java SDK could only supply task bodies: a Python
@task.stub Dag had to own the schedule, every task option, and the graph.
That splits one pipeline across two languages and two repositories for no
reason other than a missing authoring surface, and it left the Java-side
model with nothing to describe -- no edges, no configuration -- so there
was nothing a native Java Dag could be built from.

Java annotations cannot change call semantics the way Python decorators
do, so the graph is declared against a compile-time-generated twin class
(`<Class>Ref`): calling a twin registers the task and passing one twin's handle
into another feeds the upstream's output into the downstream's parameter,
making the call graph the task graph the way Python TaskFlow does -- but
type-checked by javac through the In/TaskRef generics. Keeping the
wiring calls the only way to express an edge means there is one graph
story to learn instead of two, and the method stays optional so
stub-backed classes are unchanged: their graph still lives in the Python
Dag file, and runtime arg bindings continue to win over anything Java
declares, because for a stub task the Python call site is the graph the
scheduler ordered the run by.

Dag and task configuration is generated from Airflow's own Dag
serialization schema rather than hand-listed, so the Java attributes
cannot drift from the Python semantics they mirror and new scalar keys
appear after a schema sync. Only attributes written at the use site are
applied, leaving Airflow's defaults in charge of everything unset.

Design rationale is recorded in ADR-0008.

Report URL: https://github.com/apache/airflow/actions/runs/31777364187

With regards,
GitHub Actions via GitBox


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to