Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Help pip resolver to make better decisions on Pyarrow version #25697

Merged
merged 1 commit into from
Aug 12, 2022

Conversation

potiuk
Copy link
Member

@potiuk potiuk commented Aug 12, 2022

The pip resolver in eager upgrade mode on Python 3.10 decides
to downgrade Pyarrow to 5.0.0 which triggers numpy not being
compatible with 3.10 - even if Pyarrow 6.* is perfectly fine.

Adding the limit to eager upgrade directly helps the resolver to
make better decisions on it.


^ Add meaningful description above

Read the Pull Request Guidelines for more information.
In case of fundamental code changes, an Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in a newsfragment file, named {pr_number}.significant.rst or {issue_number}.significant.rst, in newsfragments.

The pip resolver in `eager upgrade` mode on Python 3.10 decides
to downgrade Pyarrow to 5.0.0 which triggers numpy not being
compatible with 3.10 - even if Pyarrow 6.* is perfectly fine.

Adding the limit to eager upgrade directly helps the resolver to
make better decisions on it.
@boring-cyborg boring-cyborg bot added area:dev-tools area:production-image Production image improvements and fixes labels Aug 12, 2022
@potiuk potiuk mentioned this pull request Aug 12, 2022
@potiuk potiuk changed the title Help pip resolved to make better decisions on Pyarrow version Help pip resolver to make better decisions on Pyarrow version Aug 12, 2022
@potiuk potiuk merged commit 1b84048 into apache:main Aug 12, 2022
@potiuk potiuk deleted the add-pyarrow-hint-for-pip branch August 12, 2022 17:57
@potiuk potiuk added this to the Airflow 2.3.4 milestone Aug 12, 2022
@potiuk
Copy link
Member Author

potiuk commented Aug 12, 2022

In case we decided to do 2.3.4 - we will have to cherry-pick that one - marked it as 2.3.4

@uranusjr
Copy link
Member

uranusjr commented Aug 17, 2022

A colleague in Astronomer just identified the root cause to this. databricks-sql-python, a dependency of the databricks provider, does not support 3.10. It also does not support pyarrow>=6, so pip is correct to report a resolution is impossible, although that conflict is the less important issue of the two and thus sort of misleading. But in any case, this means the latest constraint files will probably maybe have issues with the databricks extra, but I’m willing to bet on there’s nothing noticable unless someone complains on the issue tracker.

@potiuk
Copy link
Member Author

potiuk commented Aug 17, 2022

A colleague in Astronomer just identified the root cause to this. databricks-sql-python, a dependency of the databricks provider, does not support 3.10. It also does not support pyarrow>=6, so pip is correct to report a resolution is impossible, although that conflict is the less important issue of the two and thus sort of misleading. But in any case, this means the latest constraint files will probably maybe have issues with the databricks extra, but I’m willing to bet on there’s nothing noticable unless someone complains on the issue tracker.

That must be it, indeed. https://pypi.org/project/databricks-sql-connector/2.0.3/ was released 7 days ago so that adds-up. @alexott - maybe you could ping the right people at Databricks and help to make the connector 3.10 compliant ?

@alexott
Copy link
Contributor

alexott commented Aug 17, 2022

Ok, let me point team to it

@susodapop
Copy link

Hey team,databricks-sql-connector maintainer here: we just pushed v2.0.4 with Python 3.10 support. LMK if this fixes things for you.

@potiuk
Copy link
Member Author

potiuk commented Aug 17, 2022

Hey team,databricks-sql-connector maintainer here: we just pushed v2.0.4 with Python 3.10 support. LMK if this fixes things for you.

Woa.. That was QUICK @susodapop (And @alexott). PR running here: #25777 - if it succeeds we are good.

@potiuk
Copy link
Member Author

potiuk commented Aug 17, 2022

Yep. looks good @alexott @susodapop :) . All the images got built so it looks like it is going to work :)

potiuk added a commit that referenced this pull request Aug 17, 2022
@potiuk
Copy link
Member Author

potiuk commented Aug 18, 2022

Unfortunately it came back: #25789 so that was not the reason (or maybe not the only reason @uranusjr).

@potiuk
Copy link
Member Author

potiuk commented Aug 18, 2022

(but it does not actually mean the 2.0.4 upgrade was bad :) @susodapop @alexott :)).

potiuk added a commit to potiuk/airflow that referenced this pull request Aug 18, 2022
…#25697)

The pip resolver in `eager upgrade` mode on Python 3.10 decides
to downgrade Pyarrow to 5.0.0 which triggers numpy not being
compatible with 3.10 - even if Pyarrow 6.* is perfectly fine.

Adding the limit to eager upgrade directly helps the resolver to
make better decisions on it.

(cherry picked from commit 1b84048)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:dev-tools area:production-image Production image improvements and fixes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants