-
Notifications
You must be signed in to change notification settings - Fork 14.8k
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 to support Google Ads v10 #22965
Upgrade to support Google Ads v10 #22965
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)
|
f4cb40b
to
8f2de3d
Compare
Looks like the build is failing as Will pin |
@@ -91,7 +91,7 @@ install_requires = | |||
# Cattrs upgrades were known to break lineage https://github.com/apache/airflow/issues/16172 | |||
# TODO: Cattrs is now at 3.8 version so we should attempt to upgrade cattrs soon. | |||
cattrs~=1.1, !=1.7.* | |||
colorlog>=4.0.2 | |||
colorlog>=4.0.2, <5.0 |
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.
We should describae why we limited it - which tests failed - ideally what were the proble and what we need to fix it.
Or maybe we can fix it ? I doubt colorlog has some "really big" changes.
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.
It felt fixable when I first spotted it yesterday - the issues all seemed to be related to CustomTTYColoredFormatter
but it didn't feel right to make changes to Airflow logging as part of this PR, as it's totally unrelated to Google Ads
It was actually mypy that threw up errors - the TTYColoredFormatter
class we inherit from was merged into ColoredFormatter
, and as a result, a few functions have changed names / signatures.
Can introduce a comment as part of this PR, and can look to upgrade it in a separate PR
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.
Separate PR is way better. Just comment in this one as we have a rule thall all upper-bounded limitations have to have comment why and what is needed to lift it.
Whenever we upper-bound such a dependency, we should always comment why we are doing it - i.e. we should have a good reason why dependency is upper-bound. And we should also mention what is the condition to remove the binding.
6f9b6a9
to
2092fca
Compare
Cool. I removed the empty requirements.txt added there by mistake :) |
Any idea what would have caused the above failure? It doesn't look like it's related to anything changed in this PR. |
Likely transient failure. You can always "rerun failed jobs" if it happens. |
Awesome work, congrats on your first merged pull request! |
How can I use it? Is this PR merged normally? |
Yes. It's merged. You will have to wait unit Google Provider gets released (which is going to happen in the next few days as we are preparing for a new wave of those. |
Thanks! |
Sounds great. Just as a heads up, V8 of the API will stop working on Wednesday 11th - definitely makes sense to group the Google Provider changes together, but we'll be a bit stuck if a new version of the provider hasn't been released by then! |
Did you find any solution for this ? I am running into same issue. Unable to update to the latest version because of google provider requirement range being <14.0.1 |
I am going to send it to voting during the weekend most likely. It will take min 72 hours, But if bugs are found and we cancel the RC it might take multiple of those 72 hrs. So I think if your business depends on it , you should work on a contingency plan. One of the options you have is taking the unreleased code of the providers and copy it to your dags folder and use it from there. But I am not sure also if everyone is able to upgrade after that - the new providers will not work for those on 2.0 for example, but this is something that is on Google Ads team to drop the APIs, this is not something we can do anything about, if the ads team make the decision to switch off the APIs on Wed, then for sure they accepted the risk that some users will not be able to upgrade some of the clients - and they are the only ones you can appeal to if you badly need it to continue working. |
Just wanted you to give heads up @SarbjitGahra @anthonyjgraff that if your business continuity depends on the ads, this is not something our decisions on releasing or not releasing the provider are based. It's your thing to make sure you have contingency plan. |
I got error :
|
@jiamo |
|
The total trace
(I modify the real id) |
BTW. The google provider (including ads10 support) is being voted right now. I encourage everyone to test it and report status at #23659 |
Have spent some time looking through your traceback & having a read of the code You have this line in your traceback:
This line is only hit when:
As the search function creates a I haven't been able to create a scenario where the service is newer than the request object, but I did manage to create the reverse scenario where a v10 request object was sent to a v9 service and got the following, (which gave a pretty similar traceback)!
In my case, I suspect the bug was caused because we don't pass From what I can tell, this behaviour long pre-dates this PR (so not sure how big of an issue it is with regards to #23659), but can investigate further tomorrow. |
It is strange I don't upgrade airflow and login in the worker pod. just execute same logic code . just run
It works fine. |
Re apply helm file with the latest 7.0.0rc works fine. So the problem only happened at just pip install 7.0.0rc. |
Closes: #22111
Description
This PR updates the google-ads dependency to v15.1.1, which adds support for v10 of the Google Ads API.
The latest version of the Google Ads API supported by the current library is v8, which will be sunsetted on 2022-05-11 (https://developers.google.com/google-ads/api/docs/sunset-dates).
Previously, Airflow was limited to v14.0.0 of the library as more recent versions required v2.x of google-api-core. However, the google-ads library re-added support for v1.x of google-api-core in v15.1.1
Testing
This is my first Airflow PR - I tried to run the full Breeze test suite, but struggled as the new requirements conflict with the constraints files - any advice would be welcome!
However, I did build an image & run a few DAGs / operators that I run regularly, getting the expected result