The GitHub Actions job "Tests ARM" on airflow.git/main has failed.
Run started by GitHub user potiuk (triggered by potiuk).

Head commit for run:
8d891bb98f318a15b063d9e9faa4a4fd6b49ef3d / Kaxil Naik <[email protected]>
Fix circular import when using ``XComObjectStorageBackend`` (#55805)

Remove ``BaseOperator`` import from ``version_compat.py`` to prevent circular
import during ``XCom`` backend resolution. The import was causing startup
failures for scheduler and triggerer when XComObjectStorageBackend
was configured as the XCom backend.

Move ``BaseOperator`` import directly to `file_transfer.py` where it's needed,
maintaining compatibility with both Airflow 2.x and 3.x while avoiding
the circular dependency chain that was introduced in PR #52443.

For use with Airflow 2.x, this is what was causing Circular import:

```
XCom Backend Resolution
    ↓
airflow.providers.common.io.xcom.backend
    ↓
airflow.providers.common.io.version_compat (imports BaseOperator at module 
level)
    ↓
airflow.models.BaseOperator (or airflow.sdk.BaseOperator)
    ↓
airflow.models.mappedoperator (BaseOperator imports this)
    ↓
airflow.triggers.base (MappedOperator imports this)
    ↓
airflow.models.taskinstance (triggers.base imports SimpleTaskInstance)
    ↓
airflow.models.xcom (TaskInstance imports XCom)
    ↓
resolve_xcom_backend() (tries to load XCom backend again)
    ↓
CIRCULAR IMPORT! 🔄
```

Fixes #55803

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

With regards,
GitHub Actions via GitBox


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

Reply via email to