-
Notifications
You must be signed in to change notification settings - Fork 383
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
Auth error: ETIMEDOUT #283
Comments
January 9, 2018 5:53 PMSorry for the delay @jamesholcomb. @callmehiphop do you know? |
@jamesholcomb On a possibly related note, I started getting this error after updating to 0.16.2. Sending messages seems to continue working. But I have to restart the app in order to receive messages on subscriptions. Jan 17, 2018 7:31 PM ERROR { message: 'Retry total timeout exceeded before anyresponse was received', stack: 'Error: Retry total timeout exceeded before anyresponse was received at repeat (/Users/jamesholcomb/code/ridealert.server/node_modules/google-gax/lib/api_callable.js:224:18) at Timeout._onTimeout (/Users/jamesholcomb/code/ridealert.server/node_modules/google-gax/lib/api_callable.js:256:13) at ontimeout (timers.js:475:11) at tryOnTimeout (timers.js:310:5) at Timer.listOnTimeout (timers.js:270:5)' }
|
@jonparrott Related: googleapis/google-auth-library-python#211 This is due to Compute Engine's metadata server being occasionally unavailable. We should move this to the nodejs auth library and set a reasonable timeout and retry when talking to the GCE metadata server. In the meantime, you can use a service account private key file as describe in cloud.google.com/docs/authentication/getting-started |
@jonparrott @stephenplusplus can you handle moving this to the appropriate place? |
February 9, 2018 7:22 PMHmm, I'm not sure which library of code is making the request, whether it's our handwritten layer, the gapic, or the auth library itself. @callmehiphop do you know? |
@callmehiphop @stephenplusplus hard to say, when creating the gapic clients we attempt to get the project id from the auth library, after which all requests are made by the gapic. If this error occurs multiple times, I would think it was from the gapic since we cache the project id. |
February 9, 2018 9:18 PM@jamesholcomb do you know the minimum required code to track down the method that is making the request that returns that error? Not so much concerned with reproducing, but just knowing which method is making the call. |
@jamesholcomb @stephenplusplus I've only encountered this error once. The server where it was running did not have full debug/trace enabled at the time, so I don't have much to go on. |
@ctavan @stephenplusplus @callmehiphop I have encountered a similar error (see below) while running my branch from #65 (which is based on current master). I'll base my branch on the Here's the error, I'm getting
|
@ofrobots @JustinBeckwith -- I moved this here, as it seems like this error comes from a call to the GCP metadata server. Note that we are still using 0.12 in Any ideas how to approach this one? |
I'm guessing this is probably just a case of unreliable network if it's not reliably reproducible. |
If we want to address this at all, see #283 (comment) |
Concerning my comment: I've encountered this actually during a faulty deploy of a service that reads from Pubsub and writes to BigQuery. The service was badly configured to consume much faster than it was able to write which simply overloaded the node process. In my experience node processes that max out one CPU thread cannot be trusted anyways (as events pile up on the event loop and memory consumption grows and grows…). I believe in my case this was rather an artifact of a badly configured setup and not really a pointer towards a serious issue. I'm sorry for the confusion I may have caused. |
@jonparrott @stephenplusplus @ofrobots The answer here is "It's complicated". In the current release, we generally do NOT retry when trying to refresh the token: In this commit, we moved almost all of our interaction with the GCE metadata server into the gcp-metadata npm module. I say almost because the Even if that call uses gcp-metadata, that module is currently configured to (by default) retry the request 3 times in the case of a non-200 response, but fail immediately in the case of an ETIMEDOUT or ENOTFOUND error: We do this to ensure that calls to the metadata service fail fast on non-GCP environments. Summing this up - there are a few separate tasks at hand:
Thoughts? |
You should do what Python does - for ADC use a quick check with no retries and timeouts to determine if the metadata server is present and then when using metadata server credentials allow retries.
At the API level, this is pretty clear - retries are configured with the gapic configuration. |
got the same in here: Error while trying to retrieve access token { FetchError: request to https://oauth2.googleapis.com/token failed, reason: connect ETIMEDOUT 216.58.200.10:443 more details:
|
May I ask, any update? same problem
|
Greetings! Could we trouble you to open a new issue? |
@JustinBeckwith Thank for reply!
Should I still open a new issue anyway? |
If it works for you, no need! |
Hello. I have the same error like user 1c7 but I don't quite understand on which port should I set the proxy. Should be same port that my nodejs app is running? |
Hi All, Same problem on my side and It works when disabling the Firewall. I've authorised ports 5228 to 5230 and tried again with no success. Does any one solved the issue? To me Oauth is HTTPS so should works tru 443. |
add one note: |
Copied from original issue: googleapis/nodejs-pubsub#30
@jamesholcomb
January 5, 2018 3:50 AM
Environment details
Note: App is running external from GCP
Steps to reproduce
UNKNOWN
This error occured after the server app had been connected and processing messages for several days. Is it expected that the pubsub lib automatically reconnects (eventually) or does a reconnect in this situation have to be handled by the client?
The text was updated successfully, but these errors were encountered: