apache / apache/airflow

ObjectStoragePath cannot be deserialized to object

Open
#57,726 16 comments 0 reactions 0 assignees View on GitHub
area:core kind:bug
Dominant language
Python
Stars
46.9k
Forks
17.8k
Avg merge
2d 10h
Merged PRs (30d)
483

Description

### Apache Airflow version

3.1.1

### If "Other Airflow 2/3 version" selected, which one?

n/a

### What happened?

In v3.1.1, if I have a object (pydantic model) which has a field of ObjectStoragePath, passed from a task to another task (xcom), the field will be a string instead of ObjectStoragePath in the 2nd task. There was no problem in v3.1.0.

### What you think should happen instead?

deserialize back to ObjectStoragePath instead of string

### How to reproduce

n/a

### Operating System

AlmaLinux 9.6

### Versions of Apache Airflow Providers

_No response_

### Deployment

Official Apache Airflow Helm Chart

### Deployment details

official helm chart 1.18.0
on-premise native K8s 1.33.5

### Anything else?

_No response_

### Are you willing to submit PR?

- [ ] Yes I am willing to submit a PR!

### Code of Conduct

- [x] I agree to follow this project's [Code of Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)

Contributor guide

Open the contributing guide

Research direction

Compare the XCom serialization and deserialization behavior between Airflow 3.1.0 and 3.1.1 for a Pydantic model containing ObjectStoragePath. Reproduce the task-to-task round trip, then verify that the receiving task gets an ObjectStoragePath rather than a string.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.