Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Switch over with mariadb-repmgr and multi GTID domains looks broken #7

Closed
cpeintre opened this issue Jan 29, 2015 · 4 comments
Closed
Labels

Comments

@cpeintre
Copy link

Original state:

Master Host   Port      Binlog Position  Strict Mode
srv-02         3306 1-180533626-105,2-180533626-1          OFF

 Slave Host   Port  Binlog   Using GTID           Slave GTID   Replication Health  Delay  RO
  srv-03   3306      ON    Slave_Pos 1-180533626-105,2-180533626-1           Running OK      0  ON
  srv-04   3306      ON  Current_Pos 1-180533626-105,2-180533626-1           Running OK      0  ON
  srv-05   3306      ON    Slave_Pos 1-180533626-105,2-180533626-1           Running OK      0  ON
  srv-06   3306      ON  Current_Pos 1-180533626-105,2-180533626-1           Running OK      0  ON

Then, state after a switch over:

Master Host   Port      Binlog Position  Strict Mode
srv-03         3306       1-180533627-92          OFF

 Slave Host   Port  Binlog   Using GTID           Slave GTID   Replication Health  Delay  RO
  srv-02   3306      ON  Current_Pos      1-180533630-104           Running OK      0  ON
  srv-04   3306      ON  Current_Pos 1-180533626-105,2-180533626-1           Running OK      0  ON
  srv-05   3306      ON    Slave_Pos 1-180533626-105,2-180533626-1           Running OK      0  ON
  srv-06   3306      ON  Current_Pos 1-180533626-105,2-180533626-1           Running OK      0  ON

The new master and the old master are not in sync with other slaves.

State after a new transaction:

Master Host   Port      Binlog Position  Strict Mode
srv-03         3306      1-180533627-106          OFF

 Slave Host   Port  Binlog   Using GTID           Slave GTID   Replication Health  Delay  RO
  srv-02   3306      ON  Current_Pos      1-180533627-106           Running OK      0  ON
  srv-04   3306      ON  Current_Pos 1-180533627-106,2-180533626-1           Running OK      0  ON
  srv-05   3306      ON    Slave_Pos 1-180533627-106,2-180533626-1           Running OK      0  ON
  srv-06   3306      ON  Current_Pos 1-180533627-106,2-180533626-1           Running OK      0  ON

Switch over is no longer possible.

@cpeintre
Copy link
Author

Need a new transaction on all domain id to retrieve a valid state:

 Master Host   Port      Binlog Position  Strict Mode
srv-03         3306 1-180533627-106,2-180533627-2          OFF

 Slave Host   Port  Binlog   Using GTID           Slave GTID   Replication Health  Delay  RO
  srv-02   3306      ON  Current_Pos 1-180533627-106,2-180533627-2           Running OK      0  ON
  srv-04   3306      ON  Current_Pos 1-180533627-106,2-180533627-2           Running OK      0  ON
  srv-05   3306      ON    Slave_Pos 1-180533627-106,2-180533627-2           Running OK      0  ON
  srv-06   3306      ON  Current_Pos 1-180533627-106,2-180533627-2           Running OK      0  ON

@tanji tanji added the bug label Jan 29, 2015
@tanji
Copy link
Owner

tanji commented Jan 29, 2015

Yes, this is a known limitation (I know, should document them...). However I have ways to overcome them. This will be fixed in a next release.

@siddontang
Copy link

mysqlfailover tries to let the candidate sync the missing transactions from other slaves first if possible, but I still think multi source replication is complex in production environment, I like keeping replication topology simple. :-)

@tanji
Copy link
Owner

tanji commented Jul 6, 2016

fixed in main repo

@tanji tanji closed this as completed Jul 6, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants