Skip to content

Fix Ingester timeouts #673

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

Merged
merged 3 commits into from
Feb 7, 2018
Merged

Fix Ingester timeouts #673

merged 3 commits into from
Feb 7, 2018

Conversation

bboreham
Copy link
Contributor

@bboreham bboreham commented Jan 28, 2018

Remove code that appears to set a timeout but actually does nothing, set a timeout on each call to Push() in the distributor, and set a timeout on entire rule-group evaluation in the ruler.

This is a plausible fix for #672, but see also #679

grpc.WithTimeout() is documented to only do anything if
grpc.WithBlock() also supplied, and we do not supply that. Even then,
it puts a timeout on the Dial() operation, which is not what we want.
Copy link
Contributor

@jml jml left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice, thanks. This will make the code easier to follow.

@tomwilkie
Copy link
Contributor

The Dial can block for a long time, and its a bad place to block. Can we use grpc.DialContext?

@bboreham
Copy link
Contributor Author

bboreham commented Feb 7, 2018

@tomwilkie I don't understand your point. This Dial is async. And the calls which will cause a real Dial are now under a timeout.

@tomwilkie
Copy link
Contributor

Has gRPC changed since we wrote this code? Its used to be the case that would block. IIRC that would happen when it couldn't resolve the targets.

@bboreham bboreham merged commit dac838b into master Feb 7, 2018
@awh awh deleted the ingester-timeouts branch February 19, 2018 10:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants