-
Notifications
You must be signed in to change notification settings - Fork 14.6k
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
switch to follow_redirects on httpx.get call in CloudSQL provider #20239
Conversation
Congratulations on your first Pull Request and welcome to the Apache Airflow community! If you have any issues or are unsure about any anything please check our Contribution Guide (https://github.com/apache/airflow/blob/main/CONTRIBUTING.rst)
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I looked a bit closer and thought about consequences. I really think we shoudl do it in backwards-compatible way and run a a conditional method. We would like to install new google provider with both - older and newer installations where httpx is potentially limited by Airlfow installation (and especially airflow constraints).
I think the right solution will be to sense with 'inspect signature' https://docs.python.org/3/library/inspect.html#introspecting-callables-with-the-signature-object and use the right parameter. Unfortunately httpx developer did not provide us with backwards-compatibility path, so we have to do it ourselves I am afraid.
ANy chance to get it thsi way @philipherrmann ? |
Sure. I can't oversee the consequences nearly as good, so I would just follow your suggestion. Sensing is a nice idea, but just try/except is more "pythonic" (EAFP), isn't it? I would go for that later. |
Both would work, I guess, but I think checking for attr is more explicit IMHO and better expresses the intent. Also same exception can be thrown if you happen to pass another argument which is unexpected which might hide another error/typo |
Also: - set min httpx version to 0.21.1 to match follow_redirects API - fix weakness in _get_bool which prevented to explicitly set parameters to 'false' in extras
83b83b1
to
3e08df8
Compare
if val == 'False' or val is False: | ||
return False | ||
return True |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if val == 'False' or val is False: | |
return False | |
return True | |
return val not in ("False", False) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One nit with simpler function.
The PR is likely OK to be merged with just subset of tests for default Python and Database versions without running the full matrix of tests, because it does not modify the core of Airflow. If the committers decide that the full tests matrix is needed, they will add the label 'full tests needed'. Then you should rebase to the latest main or amend the last commit of the PR, and push it with --force-with-lease. |
Awesome work, congrats on your first merged pull request! |
Also:
Trying to solve #20088 (comment)
^ Add meaningful description above
Read the Pull Request Guidelines for more information.
In case of fundamental code change, 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 UPDATING.md.