[Maria-discuss] semi-sync replication rpl_semi_sync_master_clients question ?
HI, we have many groups master slave , used semi-sync are normal. but there a group master and slave , semi-sync status show have a little question. master: 10.1.0.61 (MariaDB 10.1.22) slave1 : 10.1.0.62 (MariaDB 10.1.22) slave2: 10.1.0.63 (MariaDB 10.1.22) three machine's semi-sync parameter: rpl_semi_sync_master_enabled ON rpl_semi_sync_master_timeout 10000 rpl_semi_sync_master_wait_point AFTER_COMMIT rpl_semi_sync_slave_enabled ON on master: SHOW GLOBAL STATUS LIKE '%semi%' ; *Rpl_semi_sync_master_clients 1 # should show : 2 * ...... on slave1: stop slave io_thread; then on master: SHOW GLOBAL STATUS LIKE '%semi%' ; *Rpl_semi_sync_master_clients 0* on slave1: start slave io_thread; on master: SHOW GLOBAL STATUS LIKE '%semi%' ; *Rpl_semi_sync_master_clients 1* on slave2: stop slave io_thread; then on master: SHOW GLOBAL STATUS LIKE '%semi%' ; *Rpl_semi_sync_master_clients 0* on slave2: start slave io_thread; on master: SHOW GLOBAL STATUS LIKE '%semi%' ; *Rpl_semi_sync_master_clients 1* *on slave1 and slave2 , I had uninstall and reinstall semi-sync plugin, * *still show **Rpl_semi_sync_master_clients is 1* I don't know where config have question? please you help, thanks
Could it be that your slaves are periodically disconnecting from the master and then reconnecting again, and you just happened to catch a state when only one slave is connected when you queried for Rpl_semi_sync_master_clients status? To confirm or deny this you should look at the master's error log to see if there are periodically repeating messages "Starting semi-sync replication". Regarding your config: your email suggests that you have rpl_semi_sync_master_enabled set to ON on slaves. Is that really true? Such setting on the slaves will probably work only if log_slave_updates is set to OFF. Is it set to OFF on your slaves? If not then you should set rpl_semi_sync_master_enabled to OFF on the slaves to not make them wait for their slaves (which don't exist) to ack the commits. On Fri, Mar 24, 2017 at 3:02 AM, Ljr Yang <dbmsprog@gmail.com> wrote:
HI, we have many groups master slave , used semi-sync are normal. but there a group master and slave , semi-sync status show have a little question.
master: 10.1.0.61 (MariaDB 10.1.22) slave1 : 10.1.0.62 (MariaDB 10.1.22) slave2: 10.1.0.63 (MariaDB 10.1.22)
three machine's semi-sync parameter: rpl_semi_sync_master_enabled ON rpl_semi_sync_master_timeout 10000 rpl_semi_sync_master_wait_point AFTER_COMMIT rpl_semi_sync_slave_enabled ON
on master: SHOW GLOBAL STATUS LIKE '%semi%' ; Rpl_semi_sync_master_clients 1 # should show : 2 ......
on slave1: stop slave io_thread; then on master: SHOW GLOBAL STATUS LIKE '%semi%' ; Rpl_semi_sync_master_clients 0
on slave1: start slave io_thread; on master: SHOW GLOBAL STATUS LIKE '%semi%' ; Rpl_semi_sync_master_clients 1
on slave2: stop slave io_thread; then on master: SHOW GLOBAL STATUS LIKE '%semi%' ; Rpl_semi_sync_master_clients 0
on slave2: start slave io_thread; on master: SHOW GLOBAL STATUS LIKE '%semi%' ; Rpl_semi_sync_master_clients 1
on slave1 and slave2 , I had uninstall and reinstall semi-sync plugin, still show Rpl_semi_sync_master_clients is 1
I don't know where config have question? please you help, thanks
_______________________________________________ Mailing list: https://launchpad.net/~maria-discuss Post to : maria-discuss@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-discuss More help : https://help.launchpad.net/ListHelp
Thank you reply. 1) it have not "Starting semi-sync replication" in master's error log 2) slave1 : 10.1.0.62 (serverid = 62), slave2 : 10.1.0.63 (serverid = 63) on two slaves, all set rpl_semi_sync_master_enabled = on and log_slave_updates=on, but after modify /etc/my.cnf , add rpl_semi_sync_master_enabled = off and restart mariadb. after restart slave1 10.1.0.62 , master error log: 2017-03-28 18:03:05 140466955438848 [ERROR] Read semi-sync reply network error: (errno: 1158) 2017-03-28 18:03:05 140466955438848 [Note] Stop semi-sync binlog_dump to slave (server_id: 62) 2017-03-28 18:03:59 140469134961408 [Note] Start semi-sync binlog_dump to slave (server_id: 62), pos(mysql-bin.021937, 4) after restart slave2 10.1.0.63 , master error log: 2017-03-28 18:07:07 140469136173824 [ERROR] Read semi-sync reply network error: (errno: 1158) 2017-03-28 18:07:07 140469136173824 [Note] Stop semi-sync binlog_dump to slave (server_id: 63) 2017-03-28 18:09:14 140467881470720 [Note] Start semi-sync binlog_dump to slave (server_id: 63), pos(mysql-bin.021937, 4) on master: SHOW GLOBAL STATUS LIKE '%semi%' ; *Rpl_semi_sync_master_clients 1* 2017-03-28 7:36 GMT+08:00 Pavel Ivanov <pivanof@google.com>:
Could it be that your slaves are periodically disconnecting from the master and then reconnecting again, and you just happened to catch a state when only one slave is connected when you queried for Rpl_semi_sync_master_clients status? To confirm or deny this you should look at the master's error log to see if there are periodically repeating messages "Starting semi-sync replication".
Regarding your config: your email suggests that you have rpl_semi_sync_master_enabled set to ON on slaves. Is that really true? Such setting on the slaves will probably work only if log_slave_updates is set to OFF. Is it set to OFF on your slaves? If not then you should set rpl_semi_sync_master_enabled to OFF on the slaves to not make them wait for their slaves (which don't exist) to ack the commits.
HI, we have many groups master slave , used semi-sync are normal. but there a group master and slave , semi-sync status show have a
On Fri, Mar 24, 2017 at 3:02 AM, Ljr Yang <dbmsprog@gmail.com> wrote: little
question.
master: 10.1.0.61 (MariaDB 10.1.22) slave1 : 10.1.0.62 (MariaDB 10.1.22) slave2: 10.1.0.63 (MariaDB 10.1.22)
three machine's semi-sync parameter: rpl_semi_sync_master_enabled ON rpl_semi_sync_master_timeout 10000 rpl_semi_sync_master_wait_point AFTER_COMMIT rpl_semi_sync_slave_enabled ON
on master: SHOW GLOBAL STATUS LIKE '%semi%' ; Rpl_semi_sync_master_clients 1 # should show : 2 ......
on slave1: stop slave io_thread; then on master: SHOW GLOBAL STATUS LIKE '%semi%' ; Rpl_semi_sync_master_clients 0
on slave1: start slave io_thread; on master: SHOW GLOBAL STATUS LIKE '%semi%' ; Rpl_semi_sync_master_clients 1
on slave2: stop slave io_thread; then on master: SHOW GLOBAL STATUS LIKE '%semi%' ; Rpl_semi_sync_master_clients 0
on slave2: start slave io_thread; on master: SHOW GLOBAL STATUS LIKE '%semi%' ; Rpl_semi_sync_master_clients 1
on slave1 and slave2 , I had uninstall and reinstall semi-sync plugin, still show Rpl_semi_sync_master_clients is 1
I don't know where config have question? please you help, thanks
_______________________________________________ Mailing list: https://launchpad.net/~maria-discuss Post to : maria-discuss@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-discuss More help : https://help.launchpad.net/ListHelp
-- Ljr
Additional instructions: Current master 10.1.0.61 ,previous it is a slave and set rpl_semi_sync_master_enabled = on too. after switchover, it change to master and 10.1.0.62 change to slave. if want to rpl_semi_sync_master_clients show normal, Is it must restart 10.1.0.61 ? 2017-03-28 18:18 GMT+08:00 Ljr Yang <dbmsprog@gmail.com>:
Thank you reply. 1) it have not "Starting semi-sync replication" in master's error log
2) slave1 : 10.1.0.62 (serverid = 62), slave2 : 10.1.0.63 (serverid = 63)
on two slaves, all set rpl_semi_sync_master_enabled = on and log_slave_updates=on, but after modify /etc/my.cnf , add rpl_semi_sync_master_enabled = off and restart mariadb.
after restart slave1 10.1.0.62 , master error log: 2017-03-28 18:03:05 140466955438848 [ERROR] Read semi-sync reply network error: (errno: 1158) 2017-03-28 18:03:05 140466955438848 [Note] Stop semi-sync binlog_dump to slave (server_id: 62) 2017-03-28 18:03:59 140469134961408 [Note] Start semi-sync binlog_dump to slave (server_id: 62), pos(mysql-bin.021937, 4)
after restart slave2 10.1.0.63 , master error log: 2017-03-28 18:07:07 140469136173824 [ERROR] Read semi-sync reply network error: (errno: 1158) 2017-03-28 18:07:07 140469136173824 [Note] Stop semi-sync binlog_dump to slave (server_id: 63) 2017-03-28 18:09:14 140467881470720 [Note] Start semi-sync binlog_dump to slave (server_id: 63), pos(mysql-bin.021937, 4)
on master: SHOW GLOBAL STATUS LIKE '%semi%' ; *Rpl_semi_sync_master_clients 1*
2017-03-28 7:36 GMT+08:00 Pavel Ivanov <pivanof@google.com>:
Could it be that your slaves are periodically disconnecting from the master and then reconnecting again, and you just happened to catch a state when only one slave is connected when you queried for Rpl_semi_sync_master_clients status? To confirm or deny this you should look at the master's error log to see if there are periodically repeating messages "Starting semi-sync replication".
Regarding your config: your email suggests that you have rpl_semi_sync_master_enabled set to ON on slaves. Is that really true? Such setting on the slaves will probably work only if log_slave_updates is set to OFF. Is it set to OFF on your slaves? If not then you should set rpl_semi_sync_master_enabled to OFF on the slaves to not make them wait for their slaves (which don't exist) to ack the commits.
HI, we have many groups master slave , used semi-sync are normal. but there a group master and slave , semi-sync status show have a
On Fri, Mar 24, 2017 at 3:02 AM, Ljr Yang <dbmsprog@gmail.com> wrote: little
question.
master: 10.1.0.61 (MariaDB 10.1.22) slave1 : 10.1.0.62 (MariaDB 10.1.22) slave2: 10.1.0.63 (MariaDB 10.1.22)
three machine's semi-sync parameter: rpl_semi_sync_master_enabled ON rpl_semi_sync_master_timeout 10000 rpl_semi_sync_master_wait_point AFTER_COMMIT rpl_semi_sync_slave_enabled ON
on master: SHOW GLOBAL STATUS LIKE '%semi%' ; Rpl_semi_sync_master_clients 1 # should show : 2 ......
on slave1: stop slave io_thread; then on master: SHOW GLOBAL STATUS LIKE '%semi%' ; Rpl_semi_sync_master_clients 0
on slave1: start slave io_thread; on master: SHOW GLOBAL STATUS LIKE '%semi%' ; Rpl_semi_sync_master_clients 1
on slave2: stop slave io_thread; then on master: SHOW GLOBAL STATUS LIKE '%semi%' ; Rpl_semi_sync_master_clients 0
on slave2: start slave io_thread; on master: SHOW GLOBAL STATUS LIKE '%semi%' ; Rpl_semi_sync_master_clients 1
on slave1 and slave2 , I had uninstall and reinstall semi-sync plugin, still show Rpl_semi_sync_master_clients is 1
I don't know where config have question? please you help, thanks
_______________________________________________ Mailing list: https://launchpad.net/~maria-discuss Post to : maria-discuss@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-discuss More help : https://help.launchpad.net/ListHelp
-- Ljr
-- Ljr
I'm not sure I understand what you are trying to say. Do you still have a problem? When server is switched from slave to master it doesn't have to be restarted. And the logs excerpts you've included earlier seem to just show slave restarts. BTW, "Start semi-sync binlog_dump" messages is what I actually meant, not "Starting semi-sync replication", sorry. On Tue, Mar 28, 2017 at 3:33 AM, Ljr Yang <dbmsprog@gmail.com> wrote:
Additional instructions: Current master 10.1.0.61 ,previous it is a slave and set rpl_semi_sync_master_enabled = on too. after switchover, it change to master and 10.1.0.62 change to slave. if want to rpl_semi_sync_master_clients show normal, Is it must restart 10.1.0.61 ?
2017-03-28 18:18 GMT+08:00 Ljr Yang <dbmsprog@gmail.com>:
Thank you reply. 1) it have not "Starting semi-sync replication" in master's error log
2) slave1 : 10.1.0.62 (serverid = 62), slave2 : 10.1.0.63 (serverid = 63)
on two slaves, all set rpl_semi_sync_master_enabled = on and log_slave_updates=on, but after modify /etc/my.cnf , add rpl_semi_sync_master_enabled = off and restart mariadb.
after restart slave1 10.1.0.62 , master error log: 2017-03-28 18:03:05 140466955438848 [ERROR] Read semi-sync reply network error: (errno: 1158) 2017-03-28 18:03:05 140466955438848 [Note] Stop semi-sync binlog_dump to slave (server_id: 62) 2017-03-28 18:03:59 140469134961408 [Note] Start semi-sync binlog_dump to slave (server_id: 62), pos(mysql-bin.021937, 4)
after restart slave2 10.1.0.63 , master error log: 2017-03-28 18:07:07 140469136173824 [ERROR] Read semi-sync reply network error: (errno: 1158) 2017-03-28 18:07:07 140469136173824 [Note] Stop semi-sync binlog_dump to slave (server_id: 63) 2017-03-28 18:09:14 140467881470720 [Note] Start semi-sync binlog_dump to slave (server_id: 63), pos(mysql-bin.021937, 4)
on master: SHOW GLOBAL STATUS LIKE '%semi%' ; Rpl_semi_sync_master_clients 1
2017-03-28 7:36 GMT+08:00 Pavel Ivanov <pivanof@google.com>:
Could it be that your slaves are periodically disconnecting from the master and then reconnecting again, and you just happened to catch a state when only one slave is connected when you queried for Rpl_semi_sync_master_clients status? To confirm or deny this you should look at the master's error log to see if there are periodically repeating messages "Starting semi-sync replication".
Regarding your config: your email suggests that you have rpl_semi_sync_master_enabled set to ON on slaves. Is that really true? Such setting on the slaves will probably work only if log_slave_updates is set to OFF. Is it set to OFF on your slaves? If not then you should set rpl_semi_sync_master_enabled to OFF on the slaves to not make them wait for their slaves (which don't exist) to ack the commits.
On Fri, Mar 24, 2017 at 3:02 AM, Ljr Yang <dbmsprog@gmail.com> wrote:
HI, we have many groups master slave , used semi-sync are normal. but there a group master and slave , semi-sync status show have a little question.
master: 10.1.0.61 (MariaDB 10.1.22) slave1 : 10.1.0.62 (MariaDB 10.1.22) slave2: 10.1.0.63 (MariaDB 10.1.22)
three machine's semi-sync parameter: rpl_semi_sync_master_enabled ON rpl_semi_sync_master_timeout 10000 rpl_semi_sync_master_wait_point AFTER_COMMIT rpl_semi_sync_slave_enabled ON
on master: SHOW GLOBAL STATUS LIKE '%semi%' ; Rpl_semi_sync_master_clients 1 # should show : 2 ......
on slave1: stop slave io_thread; then on master: SHOW GLOBAL STATUS LIKE '%semi%' ; Rpl_semi_sync_master_clients 0
on slave1: start slave io_thread; on master: SHOW GLOBAL STATUS LIKE '%semi%' ; Rpl_semi_sync_master_clients 1
on slave2: stop slave io_thread; then on master: SHOW GLOBAL STATUS LIKE '%semi%' ; Rpl_semi_sync_master_clients 0
on slave2: start slave io_thread; on master: SHOW GLOBAL STATUS LIKE '%semi%' ; Rpl_semi_sync_master_clients 1
on slave1 and slave2 , I had uninstall and reinstall semi-sync plugin, still show Rpl_semi_sync_master_clients is 1
I don't know where config have question? please you help, thanks
_______________________________________________ Mailing list: https://launchpad.net/~maria-discuss Post to : maria-discuss@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-discuss More help : https://help.launchpad.net/ListHelp
-- Ljr
-- Ljr
participants (2)
-
Ljr Yang
-
Pavel Ivanov