Isaac Reath created CASSSIDECAR-490:
---------------------------------------

             Summary: 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


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