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: Patch Available
    • Low
    • Resolution: Unresolved
    • 5.0.x, 5.x
    • Feature/SAI
    • None
    • Availability - Unavailable
    • Low
    • Normal
    • Fuzz Test
    • All
    • None
    • Hide

      additions to IndexAvailabilityTest?

      Show
      additions to IndexAvailabilityTest?

    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

        Issue Links

          Activity

            People

              arkn98 Arun Ganesh
              maedhroz Caleb Rackliffe
              Arun Ganesh
              Caleb Rackliffe
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 0.5h
                  0.5h