We run self-hosted Temporal on OpenShift with a three-node MySQL deployment and no load balancer or VIP.
Temporal currently treats MySQL connectAddr as one endpoint. When the primary changes, Temporal cannot try another configured node without a configuration change or restart.
Following @rob_temporal’s guidance, I opened issue #10171 and implemented the fix in PR #11659.
The PR adds MySQL support for:
- Comma-separated TCP addresses
- DNS SRV discovery using
tcp+srv - Failover past unreachable or read-only nodes
Existing single-host, TLS, and password-refresh behavior remains supported. The change has unit, race, integration, and live failover coverage.
@rob_temporal, @tihomir could you route the PR to the appropriate persistence maintainer or let me know if the approach needs adjustment?