Airflow Xcom Exclusive Jun 2026

XComs must be explicitly written (pushed) by a task and explicitly read (pulled) by another. There is no automatic data propagation. Many operators automatically push their result as the return_value key when do_xcom_push=True (the default), and @task functions do the same. However, the receiving task must still request that data via xcom_pull() . This exclusive, opt‑in model prevents unintended side effects and keeps data flow explicit.

from airflow.models.xcom import BaseXCom from my_locker import acquire_lock airflow xcom exclusive

@task def produce_id() -> str: return "data_lake/2024-01-01/partition.parquet" XComs must be explicitly written (pushed) by a

The and type of data you need to pass between your tasks. airflow xcom exclusive

export AIRFLOW__COMMON_IO__XCOM_OBJECTSTORAGE_COMPRESSION='gzip'