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

Upgrade the Snowflake Python Connector to version 2.7.8 or later #34748

Closed
2 tasks done
sfc-gh-rjoshi opened this issue Oct 4, 2023 · 8 comments · Fixed by #35440
Closed
2 tasks done

Upgrade the Snowflake Python Connector to version 2.7.8 or later #34748

sfc-gh-rjoshi opened this issue Oct 4, 2023 · 8 comments · Fixed by #35440
Labels
area:providers kind:feature Feature Requests provider:snowflake Issues related to Snowflake provider

Comments

@sfc-gh-rjoshi
Copy link

Description

As per the change made by Snowflake (affecting customers on GCP), kindly update the 'Snowflake' Python Connector version to version 2.7.8 or later.

Please note all recent versions of Snowflake SQL-alchemy connector have support for this change as they use the Python Connector more recent than above.

Here is the complete information on the change reasons and recommendations - https://community.snowflake.com/s/article/faq-2023-client-driver-deprecation-for-GCP-customers

Use case/motivation

If this change is not made Airflow customers on GCP will not be able to perform PUT operations to their Snowflake account.

Soft Cutover enforced by Snowflake is Oct 30, 2023.
Hard Cutover enforced by Google is Jan 15, 2024

https://community.snowflake.com/s/article/faq-2023-client-driver-deprecation-for-GCP-customers

Related issues

https://community.snowflake.com/s/article/faq-2023-client-driver-deprecation-for-GCP-customers

Are you willing to submit a PR?

  • Yes I am willing to submit a PR!

Code of Conduct

@sfc-gh-rjoshi sfc-gh-rjoshi added kind:feature Feature Requests needs-triage label for new issues that we didn't triage yet labels Oct 4, 2023
@boring-cyborg
Copy link

boring-cyborg bot commented Oct 4, 2023

Thanks for opening your first issue here! Be sure to follow the issue template! If you are willing to raise PR to address this issue please do so, no need to wait for approval.

@Lee-W Lee-W added provider:snowflake Issues related to Snowflake provider area:providers and removed needs-triage label for new issues that we didn't triage yet labels Oct 4, 2023
@Lee-W
Copy link
Member

Lee-W commented Oct 4, 2023

Maybe we can create a PR with the version updated and see how it works with the CI and how the community reacts to it 🙂

@eladkal
Copy link
Contributor

eladkal commented Oct 4, 2023

We allow any version of snowflake-connector-python>=2.4.1
thus if you want to use 2.7.8 you can. Nothing prevents you from doing so.

If I use snowflake as is without gcp why should I be forced to use snowflake-connector-python>=2.7.8 ?

@eladkal eladkal closed this as not planned Won't fix, can't repro, duplicate, stale Oct 4, 2023
@sfc-gh-rjoshi
Copy link
Author

Although version 2.7.8 is for GCP, but it is still very old.  The requirements in the repo mention unsupported versions (2.4.1 / 1.0.0) . The versions need an update either way to keep up with the versions supported by Snowflake.

Please find below from the requirements page https://docs.snowflake.com/en/release-notes/requirements

Snowflake Connector for Python

  • Recommended 3.2.1 (or later)
  • Nearing End of Support 2.7.0

Snowflake SQLAlchemy (for Python)

  • Recommended - 1.5.0 (or later)
  • Nearing End of Support 1.3.2

@eladkal
Copy link
Contributor

eladkal commented Oct 10, 2023

But we are not limiting the users.. they can choose what they like.
Airflow also recommend users to update their Airflow versions but not everyone can. Some users still use versions who are 3 years old and in EOL.

We do our best to support all possible versions. We let the users to decide what to use.
Airflow providers and recommends to use the official constraints file:
https://airflow.apache.org/docs/apache-airflow/stable/installation/installing-from-pypi.html
Which takes into account all dependencies and set the highest possible version for each library.

I am fine with bumping versions if there is good reason (old is not a reason) because old versions can still work.
I myself worked with some old versions of libraries due to some complex issue that it took long time to resolve.

If you'll take a look at the other dependencies we have you will see for example we bumped many Azure packages lately but that is because we had to do it to include new features that are part of the Azure integration to Airflow itself (hooks, operators).

Maybe @potiuk have different view on this?

@potiuk
Copy link
Member

potiuk commented Oct 15, 2023

Although version 2.7.8 is for GCP, but it is still very old.  The requirements in the repo mention unsupported versions (2.4.1 / 1.0.0) . The versions need an update either way to keep up with the versions supported by Snowflake.

Maybe @potiuk have different view on this?

I think I agree with you @eladkal that we should be careful, but also I think bumping to 2.7.8 should be quite fine here. Those two are not conflicting IMHO in this case.

Currently the "golden" set of constraints we have - 3.2.1 / 1.5.0, so it will be generally "no-op" to bump the min versions to any higher version lower than that (from the maintenance point of view).

For many smaller providers, we can just use very "recent" versions as min versions. When those providers have very few dependencies on their own. But Snowflake provider is different - the connector has 21 dependencies - many of them limited and many of them shared with other libraries. So bumping min version might cause the potential conflicts that @eladkal described (it already has in the past).

One note worth mentioning though. We should be just a "little" careful, that it will only happen when someone actually installs snowflake provider. It does not limit "airlfow core" package, so it is highly likely that users who install snowflake provider will not want to run old, unsupported snowflake connector anyway. Also those who want to do it regardless, can still install previous provider.

I guess you assesed Airflow as important driver for your adoption - and we absolutely welcome involvement of the stakeholders in our providers in being more active in maintaining them, so I hope this might be a beggining of such cooperation.

Happy to review and help to get it merged - will you do it @sfc-gh-rjoshi ?

@potiuk potiuk reopened this Oct 15, 2023
@potiuk
Copy link
Member

potiuk commented Oct 29, 2023

@sfc-gh-rjoshi ? How about implementing it ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:providers kind:feature Feature Requests provider:snowflake Issues related to Snowflake provider
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants