[
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]