[MXS-214] SWITCHOVER client command for MULTI-MASTER Created: 2015-06-22  Updated: 2016-10-17  Resolved: 2016-10-17

Status: Closed
Project: MariaDB MaxScale
Component/s: cli, mariadbmon
Affects Version/s: None
Fix Version/s: N/A

Type: New Feature Priority: Major
Reporter: VAROQUI Stephane Assignee: Unassigned
Resolution: Won't Do Votes: 0
Labels: None

Issue Links:
Blocks
is blocked by MXS-189 FAILOVER and SWITCHOVER admin command... Closed

 Description   

Today MM monitor plugin define who is the active master in master-master using READ_ONLY flag, a more sophisticate solution can be implemented

  • Creating a mysql system table on the active master
  • Introduce a new SQL command SET ACTIVE MASTER <backend> to create the table
  • When proxy start the multi master monitor plugin check the existence of that table and check the single existence in the full cluster it can set the flag master to that node.

SWITCHOVER to single proxy scenario

  • Stop traffic
  • Wait for slave to catch up
  • Open traffic

On multiple proxies cluster

  • All participating proxy, register to the table by inserting a record to it (ip,switch) values ('x.x.x.x' , 0)
  • A manual switchover insert a replication event that notify all proxies in the cluster via replication monitors detecting

The director proxy is the one that trigger the failover

  • Stop traffic
  • Insert the replication event
  • Loop on the active master system table until all maxscale notify
  • Create System table on candidate Master
  • Open traffic to candidate active master

Other proxies

  • Receive the switchover event
  • Loop on the active master system table until all maxscale notify
  • Open traffic to candidate active master

For failover system table can be present on multiple node after the old master wake up
This can be manage by a call to external monitoring plugin script that drop that table on such event



 Comments   
Comment by markus makela [ 2016-10-17 ]

Failover is better done with an external actor for example the replication-manager

Generated at Thu Feb 08 03:57:38 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.