You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Arun Ganesh (Jira)" <ji...@apache.org> on 2024/06/04 04:11:00 UTC

[jira] [Commented] (CASSANDRA-19400) IndexStatusManager needs to prioritize SUCCESS over UNKNOWN states to maximize availability

    [ https://issues.apache.org/jira/browse/CASSANDRA-19400?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17851884#comment-17851884 ] 

Arun Ganesh commented on CASSANDRA-19400:
-----------------------------------------

Hey [~maedhroz], newbie here.

If I understand correctly, the {{queryableEndpoints}} returned from the [IndexStatusManager::filterForQuery|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/index/IndexStatusManager.java#L85] should list {{BUILD_SUCCEEDED}} indices first? And, should this behavior only apply to SAI indices?

> IndexStatusManager needs to prioritize SUCCESS over UNKNOWN states to maximize availability
> -------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-19400
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-19400
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Feature/SAI
>            Reporter: Caleb Rackliffe
>            Priority: Low
>             Fix For: 5.0.x, 5.x
>
>
> {{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.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org