Vishy Kasar created CASSANDRA-9205:
--------------------------------------
Summary: Allow per statement time outs or request cancel method
Key: CASSANDRA-9205
URL: https://issues.apache.org/jira/browse/CASSANDRA-9205
Project: Cassandra
Issue Type: Improvement
Reporter: Vishy Kasar
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.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)