Details
-
Improvement
-
Status: Resolved
-
Normal
-
Resolution: Duplicate
-
None
-
None
-
None
Description
Cassandra lets user specify time outs for various operations globally in yaml. It would be great if we could set different timeouts for CQL statements in different contexts, rather than just having a global timeouts in yaml. We have client requests that need to time out in a short duration vs some maintenance requests that we know take long. The only choice we have now is to set the server time out to the highest needed.
User can certainly do session.executeAsync on the client side and wait for certain time on the returned future. However when user cancels the future on time out, nothing is done on the server side. We have seen cases where cassandra replicas were going over thousands of tombstones and causing OOMs way after client timed out.
This can be implemented either by passing the time out along with query to server or by providing a cancel method similar to http://docs.oracle.com/javase/6/docs/api/java/sql/Statement.html
It is understood that server may not be able to timeout/cancel the requests in all cases. So this is a request to server to do it's best effort to timeout/cancel.
Attachments
Issue Links
- duplicates
-
CASSANDRA-2848 Make the Client API support passing down timeouts
- Open
- relates to
-
CASSANDRA-2848 Make the Client API support passing down timeouts
- Open