[v3-1-test] Fix migration errors for Pydantic 2.12.0 (#56579) #56581
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Pydantic 2.12.0 implemented experimental Sentinel that requires
newer version of typing extensions. Our migration scripts however
downgrade airflow to 2.11.0 and since airflow 2.11 does not have
pydantic specified as required dependency, it does not downgrade
it - but it downgrades typing-extensions that are airflow dependency.
This causes a mismatch between expected version of typing extensions
by Pydantic (4.14.1) and the one that we have installed in airflow
2.11 (4.13.1). However - in fact - pydantic is a dependency of
Airflow 2.11 - becuase serialization uses pydantic serializer
in 2.11 and it fails being imported if typing extensions is too low.
This is only a problem when downgrading to Airflow 2.11 with constraints
when you do not specify pydantic as extra. This should be fixed in
2.11.1 as there constraints should include latest version of
typing-extension and pydantic.
For now - the fix is to add pydantic as extra when downgrading
airflow to 2.11.0
(cherry picked from commit dfb24d7)
Co-authored-by: Jarek Potiuk [email protected]