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

pubsub: No errors exposed for resource exhausted errors #1166

Closed
jameshartig opened this issue Oct 2, 2018 · 5 comments
Closed

pubsub: No errors exposed for resource exhausted errors #1166

jameshartig opened this issue Oct 2, 2018 · 5 comments
Assignees
Labels
api: pubsub Issues related to the Pub/Sub API. type: feature request ‘Nice-to-have’ improvement, new feature or different behavior or design.

Comments

@jameshartig
Copy link
Contributor

Client

PubSub (latest master: )

Describe Your Environment

CentOS 7 on GCE

Expected Behavior

I expect an error from Receive if there is a resource exhaustion on StreamingPull requests.

Actual Behavior

Receive doesn't return an error and I assume silently retries.

We apparently hit our concurrent StreamingPull limit (120) months ago and never knew because Receive never returned an error. When we spun up more servers today they were only receiving 1/10th the amount of messages the other servers were and we couldn't figure out why until we happened to notice the Pub/Sub API dashboard showed 99.96% of StreamingPull calls errored.

@jeanbza jeanbza added the api: pubsub Issues related to the Pub/Sub API. label Oct 2, 2018
@jeanbza jeanbza self-assigned this Oct 2, 2018
@jeanbza jeanbza added type: bug Error or flaw in code with unintended results or allowing sub-optimal usage patterns. priority: p2 Moderately-important priority. Fix may not be included in next release. labels Oct 2, 2018
@jba jba added type: question Request for information or clarification. Not an issue. and removed type: bug Error or flaw in code with unintended results or allowing sub-optimal usage patterns. labels Oct 2, 2018
@jba
Copy link
Contributor

jba commented Oct 2, 2018

@fastest963 Was the error code ResourceExhausted?

Assuming the answer is yes:
@kamalaboulhosn @kir-titievsky We do indeed retry on ResourceExhausted. Should we revisit that?

@jameshartig
Copy link
Contributor Author

@jba I'm not sure but I think so because the attached screenshot below shows 429 as the highest error. When I raised the limit the number of open connections jumped and the number of 429 errors dropped.

The following screenshot is limited to StreamingPull method.
image

@jeanbza
Copy link
Contributor

jeanbza commented Nov 30, 2018

Friendly ping @kamalaboulhosn re: revisiting retrying ResourceExhausted

@kamalaboulhosn
Copy link
Contributor

What probably makes sense here is to not treat ResourceExhausted as retryable for streaming pull. For other resource limits, they are generally rate limits and not count limits. The streaming pull open connections limit is the only one that is an actual max count. Retrying isn't likely to help here given that connections are long-lived.

What do you think?

@jeanbza jeanbza removed the priority: p2 Moderately-important priority. Fix may not be included in next release. label Dec 4, 2018
@jeanbza
Copy link
Contributor

jeanbza commented Dec 4, 2018

@jeanbza jeanbza added type: feature request ‘Nice-to-have’ improvement, new feature or different behavior or design. and removed type: question Request for information or clarification. Not an issue. labels Dec 4, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api: pubsub Issues related to the Pub/Sub API. type: feature request ‘Nice-to-have’ improvement, new feature or different behavior or design.
Projects
None yet
Development

No branches or pull requests

4 participants