[helm] First-class coordinator HA: readiness gate valid for standby coordinators
- Dominant language
- Java
- Stars
- 2.1k
- Forks
- 625
- Avg merge
- 3d 14h
- Merged PRs (30d)
- 97
Description
### Motivation
The Helm chart exposes `coordinator.numberOfReplicas`, and since 1.0 the coordinator supports HA with standby replicas. However, HA is not first-class in the chart:
- Both the liveness and readiness probes in `helm/templates/sts-coordinator.yaml` are TCP-only (`tcpSocket` on the client listener port). A standby coordinator binds the port, so it reports ready even though readiness for a standby means something different than for the leader.
- There is no coordinator health gate equivalent to the tablet readiness gate.
- Defaults, examples, and docs all assume 1 replica, with no guidance for running more.
### Proposal
1. **Readiness gate valid for standbys.** Replace (or complement) the TCP readiness probe with a check that is meaningful on a standby coordinator. `Admin#getClusterHealth()` (#3399) looks like the natural hook, but it needs verification: what does it report when served by a standby coordinator vs. the leader? If a standby cannot answer it, the probe needs a standby-aware alternative (for example, a local check that the process has joined the coordinator group).
2. **Multi-replica guidance.** Document how to run `coordinator.numberOfReplicas > 1`: recommended `coordinator.podDisruptionBudget` settings (the template already supports `minAvailable`/`maxUnavailable`), rolling-update behavior, and any listener/service implications.
The default should stay at 1 replica; this is about making >1 safe and observable, not changing defaults.
### Affected files
- `helm/templates/sts-coordinator.yaml` (probes)
- `helm/values.yaml` (any new probe/health values)
- `helm/README.md` (multi-replica guidance)
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with helm/templates/sts-coordinator.yaml and inspect the existing TCP probes, then read Admin#getClusterHealth() from issue #3399 to verify its behavior on leader and standby coordinators. Review helm/values.yaml and helm/README.md for probe configuration and multi-replica guidance; the work is done when standby readiness is meaningful and replica, disruption-budget, rollout, and listener implications are documented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- helm, kubernetes
- Domain
- devops, infrastructure
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100