Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-9205

Allow per statement time outs or request cancel method

    XMLWordPrintableJSON

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

          Activity

            People

              Unassigned Unassigned
              vkasar Vishy Kasar
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: