ObjectStoragePath cannot be deserialized to object
- 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
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