Skip to content
This repository has been archived by the owner on Feb 8, 2018. It is now read-only.

bring back statement_timeout? #2601

Closed
chadwhitacre opened this issue Jul 30, 2014 · 2 comments
Closed

bring back statement_timeout? #2601

chadwhitacre opened this issue Jul 30, 2014 · 2 comments

Comments

@chadwhitacre
Copy link
Contributor

I think we lost statement_timeout. We added a 10 second timeout at #1541 (comment) to help with performance, but now I can't find it.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

@Changaco
Copy link
Contributor

I don't see how a timeout helps with performance, it only mitigates the effects of the underlying issue, and thus reduces the incentive to fix it.

@chadwhitacre
Copy link
Contributor Author

Here's the rationale for using timeouts:

Implement backpressure throughout your system. Backpressure is the signaling of failure from a serving system to the requesting system and how the requesting system handles those failures to prevent overloading itself and the serving system. Designing for backpressure means bounding resource utilization during times of overload and times of system failure. This is one of the basic building blocks of creating a robust distributed system.

Common versions include dropping new messages on the floor (and incrementing a metric) if the system’s resources are already over-scheduled, and shipping errors back to users when the system determines it will be unable to finish the request in a given amount of time. Timeouts and exponential back-offs on connections and requests to other systems are also useful.

Without backpressure mechanisms in place, cascading failure or unintentional message loss become likely. When a system is not able to handle the failures of another, it tends to emit failures to another system that depends on it.

http://www.somethingsimilar.com/2013/01/14/notes-on-distributed-systems-for-young-bloods/

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants