-
Notifications
You must be signed in to change notification settings - Fork 503
Proxy issue appearing in 10.0.0 #423
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
Comments
Hey @thatch! Thanks for providing all this info. A couple things:
|
Adding @dfaradjev who has more experience with testing this. |
Hi @laurachevalier4 ,
Really appreciate your help! |
@dfaradjev two more questions -- on 9.0.0 where it's successful, is it fetching the v5 endpoint? And does it fail identically on 10.0.0 and 11.0.0? |
v9.0.0 is working fine when I set https_proxy environment variable. It is fetching the v5 endpoint. |
@dfaradjev I see you confirmed the outcome with the https_proxy env var set and http_proxy not set in the yaml, but can you also make sure the http_proxy env variable is empty and let me know the behavior (in v11)? Also, do you have a longer stack trace you can provide? Thanks! |
Confirming, I got the same error when http_proxy env. variable was not set at all.
|
It would appear that the CONNECT is different, and dropped the port number in 10.0.0
|
My proxy admin is advising that grpc is sending non-compliant CONNECT requests. The port is required as part of the "authority form", per https://datatracker.ietf.org/doc/html/rfc7231#section-4.3.6 do you know if grpc has a policy of assuming 443 and should be adding or at least validating it before issuing the request? The source in |
That additional info is really useful, thanks. I think I know what's happening here, can you try something to confirm: In your google-ads.yaml, add an |
@laurachevalier4 Adding |
@dfaradjev this is a temporary workaround. Thanks for testing! Please let us know the outcome as you keep testing. Since it seems to work (unless you say otherwise), we're looking at the possible permanent solutions this points us to. |
@dfaradjev and @thatch to help us determine what's going to be the best permanent solution for this, can you provide a couple more details?
|
FWIW, I think it is clear (via #423 (comment)) that gRPC is doing the wrong thing here, so fixing it in gRPC (grpc/grpc#26227) seems the appropriate permanent solution. That said, I don't work on C core so we'll need to see what they think. I don't think ALPN has any impact here, as the proxy is not doing TLS at all (it's a TCP tunnel). |
Our proxy has a TCP endpoint and a TLS endpoint. Through the TLS endpoint we support negotiating h1, h2 through ALPN. That said as @ejona86 mentioned, it's unclear why the ALPN would affect anything here? The H1 CONNECT sent is clearly malformed. |
Looks like this is attributed to the grpc bug, so I'm going to close this and recommend the temporary workaround in the meantime, until that grpc bug is fixed. |
Describe the bug:
We use an http proxy to communicate using the google-ads library. This worked fine on previous versions by setting the
http_proxy
andhttps_proxy
env vars. When updating to 10.0.0 or later, I get the following error when using search:This problem exists on 10.0.0 unmodified, 10.0.0 with PR 405 applied (with proxy set in yaml), and also on 11.0.0 unmodified. I am 100% sure that the grpc version is the same between working on google-ads 9.0.0 and failing on 10.0.0.
I've run a bisect which points at either 6c242d3, or the changes we had to make in our script to deal with the disruptive api changes. Do you have a more granular version of that commit that we could continue bisecting on?
Steps to Reproduce:
Internal build, sorry. I'm happy to test things to provide simplified versions or add debugging information as you'd like.
Expected behavior:
Proxy support continues to work.
Screenshots:
n/a
Library version and API version:
I see the failed call using
/google.ads.googleads.v5.services.GoogleAdsService/Search
Request/Response Logs:
I can generate these if you let me know what you're looking for.
Additional context:
n/a
The text was updated successfully, but these errors were encountered: