canonical / mysql-operator

Machine charm for MySQL following the operator framework
https://charmhub.io/mysql
Apache License 2.0
7 stars 10 forks source link

DPE-4658 global-primary on endpoint #467

Closed paulomach closed 3 months ago

paulomach commented 3 months ago

Issue

  1. Slow status update on switchover
  2. Endpoint being empty breaks related router
  3. cluster name clash workaround use meaningless hash

Solution

carlcsaposs-canonical commented 3 months ago

Endpoint being empty breaks related router

IMO, this shouldn't be fixed with

use global cluster set primary on standby endpoint

because router will still fail on primary switchover if previous primary goes offline (e.g. region failure, network cut)—and this only hides the issue

but does this improve UX for consuming applications when async enabled?

paulomach commented 3 months ago

Endpoint being empty breaks related router

IMO, this shouldn't be fixed with

use global cluster set primary on standby endpoint

because router will still fail on primary switchover if previous primary goes offline (e.g. region failure, network cut)—and this only hides the issue

but does this improve UX for consuming applications when async enabled?

The main point here is to not disrupt a running service due a switchover (failovers are a complete different beast). Fact of matter is that we still don't have the full router on async history defined by Mohamed. Meanwhile this indeed avoids unnecessary disruption for end user.

carlcsaposs-canonical commented 3 months ago

The main point here is to not disrupt a running service due a switchover (failovers are a complete different beast). Fact of matter is that we still don't have the full router on async history defined by Mohamed. Meanwhile this indeed avoids unnecessary disruption for end user.

is this solution helpful for non-router apps? or router only?

paulomach commented 3 months ago

is this solution helpful for non-router apps? or router only?

Specially helpful for non-router, but we always recommend router for async setup.