[ 
https://issues.apache.org/jira/browse/CASSSIDECAR-490?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Isaac Reath reassigned CASSSIDECAR-490:
---------------------------------------

    Assignee: Isaac Reath

> Add support for publishing ring health to an external system
> ------------------------------------------------------------
>
>                 Key: CASSSIDECAR-490
>                 URL: https://issues.apache.org/jira/browse/CASSSIDECAR-490
>             Project: Sidecar for Apache Cassandra
>          Issue Type: Improvement
>          Components: Observability
>            Reporter: Isaac Reath
>            Assignee: Isaac Reath
>            Priority: Major
>
> Today, Sidecar provides API endpoints (/api/v1/cassandra/ring and 
> /api/v1/cassandra/ring/keyspaces/:keyspace) to access the current ring health 
> from the perspective of the Cassandra instance the sidecar is configured 
> against. This gives consumers a polling API to understand the state of the 
> cluster from the perspective of one node at any given time. Gathering the 
> full ring-health matrix from these per-node endpoints presents a number of 
> challenges:
>   - Aggregators must be ring-aware, tracking when nodes join or leave the 
> cluster so they know which nodes to start or stop polling.
>   - HTTP connection establishment may be unreliable under heavy load, so ring 
> health is hardest to observe from exactly the node under stress.
>   - Retry logic to aggregate per-node ring health across the cluster is 
> complex and error-prone.
> To close these gaps, this ticket proposes adding ring-health publishing to 
> Sidecar as an alternative to consumers polling the ring-health API. Each 
> Sidecar instance will periodically push its local node's view of ring health 
> to downstream consumers. This adds a new pluggable interface for publishing 
> ring health, with an initial Kafka-based implementation.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to