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: Open
    • Low
    • Resolution: Unresolved
    • 5.0.x, 5.x
    • 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

        Activity

          People

            Unassigned Unassigned
            maedhroz Caleb Rackliffe
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: