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

Allow coordinator failover for cursors

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Low
    • Resolution: Fixed
    • 2.0 beta 1
    • None
    • None

    Description

      With CASSANDRA-4415 if a coordinator fails or gets slow, causing the NEXT request to timeout, the client application won't be able to complete its browsing of the result. That implies that most of the time when the developer will rely on cursors he will have to write some logic to handle a retry request for results starting where the iteration failed. This will quickly become painful.

      Ideally the driver should handle this failover by itself by transparently issuing this retry query when NEXT fail, but as the driver doesn't understand CQL queries, the only thing it's aware of is the number of rows already read. Therefore we should allow an optional parameter <initial_row_number> in QUERY and EXECUTE messages that would allow a kind of stateless failover of cursors.

      With such an option, developers wouldn't have to write any failover/retry logic on failure as they would know that everything has already been tried by the driver.

      Attachments

        Activity

          People

            slebresne Sylvain Lebresne
            mfiguiere Michaël Figuière
            Sylvain Lebresne
            Aleksey Yeschenko
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: