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)

Reply via email to