Skip to content

[v3-4-test] Render XCom values on the API server without rebuilding objects (#74829) - #75088

Merged
potiuk merged 1 commit into
v3-4-testfrom
backport-b107f60-v3-4-test
Oct 19, 2026
Merged

potiuk merged 1 commit into
v3-4-testfrom
backport-b107f60-v3-4-test

Conversation

@github-actions

Copy link
Copy Markdown
Contributor
  • Render XCom values on the API server without rebuilding objects

GET .../xcomEntries/{key}?deserialize=true fell back to
XComModel.deserialize_value() for any airflow.* class, running full
serde in the API server only to turn the result back into a string.
stringify() now renders airflow.* classes from their serialized
fields without importing them, producing the same repr-style output for
attrs/dataclass types, so the fallback is removed from the XCom endpoint
and the XComOperatorLink extra-link lookup.

Generated-by: Claude Opus 5 following the guidelines at https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions

  • Render Airflow classes with custom serialization compactly in XCom display

Only asset definitions, which are attrs types, have serialized fields that
mirror their repr. Other Airflow classes can define serialize() returning
internal state that their repr never shows, e.g. the storage options kept
by ObjectStoragePath. Show those by their path or URI only.
(cherry picked from commit b107f60)

Co-authored-by: Jarek Potiuk jarek@potiuk.com
Generated-by: Claude Opus 5 following the guidelines at https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions

…bjects (#74829)

* Render XCom values on the API server without rebuilding objects

`GET .../xcomEntries/{key}?deserialize=true` fell back to
`XComModel.deserialize_value()` for any `airflow.*` class, running full
serde in the API server only to turn the result back into a string.
`stringify()` now renders `airflow.*` classes from their serialized
fields without importing them, producing the same repr-style output for
attrs/dataclass types, so the fallback is removed from the XCom endpoint
and the `XComOperatorLink` extra-link lookup.

Generated-by: Claude Opus 5 following the guidelines at https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions

* Render Airflow classes with custom serialization compactly in XCom display

Only asset definitions, which are attrs types, have serialized fields that
mirror their repr. Other Airflow classes can define serialize() returning
internal state that their repr never shows, e.g. the storage options kept
by ObjectStoragePath. Show those by their path or URI only.
(cherry picked from commit b107f60)

Co-authored-by: Jarek Potiuk <jarek@potiuk.com>
Generated-by: Claude Opus 5 following the guidelines at https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions
@boring-cyborg boring-cyborg Bot added area:API Airflow's REST/HTTP API area:DAG-processing labels Oct 19, 2026
@vatsrahul1001
vatsrahul1001 marked this pull request as ready for review October 19, 2026 12:31
@potiuk
potiuk merged commit 2c6493b into v3-4-test Oct 19, 2026
160 of 176 checks passed
@potiuk
potiuk deleted the backport-b107f60-v3-4-test branch October 19, 2026 15:00
@github-actions github-actions Bot added this to the Airflow 3.4.1 milestone Oct 19, 2026
@github-actions

Copy link
Copy Markdown
Contributor Author

Hi maintainer, this PR was merged without a milestone set.
We've automatically set the milestone to Airflow 3.4.1 based on: merged to version branch
If this milestone is not correct, please update it to the appropriate milestone.

This comment was generated by Milestone Tag Assistant.

vatsrahul1001 pushed a commit that referenced this pull request Oct 20, 2026
…bjects (#74829) (#75088)

* Render XCom values on the API server without rebuilding objects

`GET .../xcomEntries/{key}?deserialize=true` fell back to
`XComModel.deserialize_value()` for any `airflow.*` class, running full
serde in the API server only to turn the result back into a string.
`stringify()` now renders `airflow.*` classes from their serialized
fields without importing them, producing the same repr-style output for
attrs/dataclass types, so the fallback is removed from the XCom endpoint
and the `XComOperatorLink` extra-link lookup.

Generated-by: Claude Opus 5 following the guidelines at https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions

* Render Airflow classes with custom serialization compactly in XCom display

Only asset definitions, which are attrs types, have serialized fields that
mirror their repr. Other Airflow classes can define serialize() returning
internal state that their repr never shows, e.g. the storage options kept
by ObjectStoragePath. Show those by their path or URI only.
(cherry picked from commit b107f60)


Generated-by: Claude Opus 5 following the guidelines at https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions

Co-authored-by: Jarek Potiuk <jarek@potiuk.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:API Airflow's REST/HTTP API area:DAG-processing

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants