MySQL persistence failover without LB/VIP: implementation ready for review

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?