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

IndexStatusManager needs to prioritize SUCCESS over UNKNOWN states to maximize availability

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Low
    • Resolution: Fixed
    • 5.0.1, 5.1
    • Feature/SAI
    • None

    Description

      IndexStatusManager is responsible for knowing what SAI indexes are queryable across the ring, endpoint by endpoint. There are two statuses that SAI treats as queryable, but it should not treat them equally. BUILD_SUCCEEDED means the index is definitely available and should be able to serve queries without issue. UNKNOWN indicates that the status of the index hasn’t propagated yet to this coordinator. It may be just fine, or it may not be. If it isn’t a query will not return incorrect results, but it will fail. If there are enough BUILD_SUCCEEDED replicas, we should ignore UNKNOWN replicas and maximize availability. If the UNKNOWN replica is going to become BUILD_SUCCEEDED shortly, it will happily start taking requests at that point and spread the load. If not, we’ll avoid futile attempts to query it too early.

      Attachments

        1. ci_summary.json
          8 kB
          Caleb Rackliffe
        2. ci_summary.html
          42 kB
          Caleb Rackliffe

        Activity

          People

            arkn98 Arun Ganesh
            maedhroz Caleb Rackliffe
            Arun Ganesh
            Caleb Rackliffe, Zhao Yang
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 3h 20m
                3h 20m