Git Product home page Git Product logo

xenon's People

Contributors

acekingke avatar andyli029 avatar bohutang avatar buffernihility avatar dbkernel avatar easontai avatar hustjieke avatar runkecheng avatar tceason avatar toknowledge avatar zhyass avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

xenon's Issues

deloyment

Does it support ansible playbook or other auto-deloyment tools?

[feature] add super idle config

Summary

xenon does enable raft at the step16 of rebuildme, but some IDLE node should not enable raft to FOLLOWER, here change the StartAsIDLE config to SuperIDLE.
If a node is configed as SuperIDLE, the enable raft will do:

1. Fires 'change master to'
2. Keep IDLE state

[question] stop xenon running on the master

Hi, I had configure replication with xenon. When I do a test, something confused me.

When I stopped the xenon running on the master, the master was remove from the replication. For example, A is master, B and C are slave. xenon running on the master A was stopped, the replication became B(new master) to C(slave). A became other instance not in the replication. Why? There are no problems on the master A, in fact A was serviceable, only the xenon was stopped.

From the document「1.3 How Raft+ Works
When the Master is not serviceable, Slave1 and Slave2 immediately start a new winner.

Can you make me understand it? Thank you.

[feature] Add invalid state

Summary

MySQL ueses Engine commit(If MySQL trx prepare and flush to data, it will be committed. ) to protect data security. But it may not be suite for MySQL Cluster.

Fix

  1. Add invalid state (Invalid should not send a agree vote)
  2. If check Engine commit , set the node status to invalid(use gtid_sub function, so we also need check gtid when raft election)

Question

  1. If xenon dead, the state may be confusion, so we should record all state into a file.

xenon rejoin xenon cluster is INVALID

你好 、 xenon 研发同学。
部署好的 xenon+mysql 集群已经运行了一段时间, 发现执行 /data/xenon/bin/xenoncli cluster mysql 命令会出现cluster.go:480: unexpected error: get.client.error[dial tcp 192.168.39.167:8801: i/o timeout],如下图所示。
image

但是过一会执行命令 ,出现 如下情况
image

后面我把这个 xenon 程序stop ,然后start 。发现xenon的状态是 INVALID

image

以下是日志
[16:02:13 root@k8s-node-01 xenon]# cat xenon.log
xenon:[{Tag:v1.0.9-1-gc50a100 Time:2020/04/29 08:46:43 Git:c50a100 GoVersion:go1.14.2 Platform:linux amd64}]
2021/06/26 16:00:42.380592 [INFO] main: tag=[v1.0.9-1-gc50a100], git=[c50a100], goversion=[go1.14.2], builddate=[2020/04/29 08:46:43]
2021/06/26 16:00:42.380790 [WARNING] xenon.conf.raft:[&{MetaDatadir:raft.meta HeartbeatTimeout:1000 AdmitDefeatHtCnt:10 ElectionTimeout:3000 PurgeBinlogInterval:300000 SuperIDLE:false LeaderStartCommand: LeaderStopCommand: PurgeBinlogDisabled:false RequestTimeout:500 CandidateWaitFor2Nodes:60000}]
2021/06/26 16:00:42.380826 [WARNING] xenon.conf.mysql:[&{Admin:root Passwd:DOVYJ2gveVIirLzE Host:127.0.0.1 Port:3306 Basedir:/data/mysql8.0.22 Version:mysql57 DefaultsFile:/data/mysql8.0.22/config/my.cnf PingTimeout:1000 AdmitDefeatPingCnt:2 MasterSysVars: SlaveSysVars: ReplHost:192.168.39.167 ReplUser:repl ReplPasswd:replication}]
2021/06/26 16:00:42.380866 [WARNING] xenon.conf.mysqld:[&{SSHHost:192.168.39.167 SSHUser:root SSHPasswd:nnSnRp+xBKOFmSjF SSHPort:22 BackupDir:/data/mysql8.0.22/data XtrabackupBinDir:/usr/bin BackupIOPSLimits:100000 UseMemory:2GB Parallel:2 MysqldMonitorInterval:1000 Admin:root Passwd:DOVYJ2gveVIirLzE Host:127.0.0.1 Port:3306 Basedir:/data/mysql8.0.22 DefaultsFile:/data/mysql8.0.22/config/my.cnf}]
2021/06/26 16:00:42.381152 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].prepare.to.recovery.peers.from.[raft.meta].peers[[192.168.39.167:8801]].idlePeers[[]]
2021/06/26 16:00:42.381177 [INFO] server.prepare.setup.mysqlserver
2021/06/26 16:00:42.381186 [WARNING] mysqld.prepare.to.start...
2021/06/26 16:00:42.474056 [WARNING] mysqld.already.running...
2021/06/26 16:00:42.474078 [INFO] server.mysqlserver.setup.done
2021/06/26 16:00:42.474088 [INFO] server.mysql.wait.for.work[maxwait:60s]
2021/06/26 16:00:42.489500 [INFO] mysql.slave.status:&{mysql-bin.000004 57680655 true Yes true Yes 0cba804d-9845-11eb-b0db-fa163e9bad91:1829-1958 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1958,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 Slave has read all relay log; waiting for more updates }
2021/06/26 16:00:42.489553 [INFO] server.mysql.gtid:{Master_Log_File:mysql-bin.000004 Read_Master_Log_Pos:57680655 Relay_Master_Log_File: Slave_IO_Running:true Slave_IO_Running_Str:Yes Slave_SQL_Running:true Slave_SQL_Running_Str:Yes Retrieved_GTID_Set:0cba804d-9845-11eb-b0db-fa163e9bad91:1829-1958 Executed_GTID_Set:0cba804d-9845-11eb-b0db-fa163e9bad91:1-1958,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 Seconds_Behind_Master:0 Slave_SQL_Running_State:Slave has read all relay log; waiting for more updates Last_Error: Last_IO_Error: Last_SQL_Error:}
2021/06/26 16:00:42.489575 [INFO] server.mysql.set.to.READONLY
2021/06/26 16:00:42.490123 [INFO] server.mysql.start.slave
2021/06/26 16:00:42.490340 [INFO] server.mysql.check.replication.user...
2021/06/26 16:00:42.490686 [INFO] server.mysql.setup.done
2021/06/26 16:00:42.490701 [INFO] server.prepare.setup.RPC
2021/06/26 16:00:42.491009 [INFO] server.RPC.setup.done
2021/06/26 16:00:42.491036 [INFO] mysqld[/data/mysql8.0.22/config/my.cnf].monitor.start...
2021/06/26 16:00:42.491047 [INFO] mysql[127.0.0.1:3306].startping...
2021/06/26 16:00:42.491061 [INFO] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].raft.start...
2021/06/26 16:00:42.491175 [INFO] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].start.CheckBrainSplit
2021/06/26 16:00:42.491206 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].state.init
2021/06/26 16:00:42.491326 [WARNING] xrpc.Start.listening.on[192.168.39.167:8801]
2021/06/26 16:00:42.491337 [INFO] server.start.success...
2021/06/26 16:00:42.491343 [INFO] xenon.start.success...
2021/06/26 16:00:42.494777 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].leaderStopShellCommand[[-c ]].done
2021/06/26 16:00:42.494803 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].mysql.waitMysqlDoneAsync.prepare
2021/06/26 16:00:42.494842 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].state.machine.run
2021/06/26 16:00:42.495409 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].mysql.SetReadOnly.done
2021/06/26 16:00:42.495427 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].mysql.SetSlaveGlobalSysVar.done
2021/06/26 16:00:42.495436 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].prepareAsync.done
2021/06/26 16:00:42.501336 [INFO] mysql.slave.status:&{mysql-bin.000004 57680655 true Yes true Yes 0cba804d-9845-11eb-b0db-fa163e9bad91:1829-1958 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1958,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 Slave has read all relay log; waiting for more updates }
2021/06/26 16:00:42.501398 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].init.my.gtid.is:{mysql-bin.000004 57680655 true Yes true Yes 0cba804d-9845-11eb-b0db-fa163e9bad91:1829-1958 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1958,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 Slave has read all relay log; waiting for more updates }
2021/06/26 16:00:43.459841 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:00:43.991472 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:00:44.459370 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:00:45.459558 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:00:45.491951 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:00:46.460700 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:00:46.992236 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:00:47.462440 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:00:48.459498 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:00:48.492406 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:00:49.459956 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:00:49.992834 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:00:50.458966 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:00:51.463800 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:00:51.493678 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:00:52.459795 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:00:52.993987 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:00:53.460034 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:00:54.457774 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:00:54.494107 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:00:55.460327 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:00:55.994357 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:00:56.463465 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:00:57.462650 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:00:57.494515 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:00:58.462458 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:00:58.994784 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:00:59.460173 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:00.460270 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:00.494962 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:01.461057 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:01.995114 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:02.462786 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:03.463594 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:03.495539 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:04.463260 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:04.995809 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:05.462384 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:06.464705 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:06.495961 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:07.463703 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:07.996260 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:08.463654 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:09.464480 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:09.496800 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:10.460974 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:10.997015 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:11.463696 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:12.465038 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:12.497577 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:13.465436 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:13.997873 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:14.467418 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:15.463660 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:15.498224 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:16.464437 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:16.998408 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:17.464747 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:18.469714 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:18.499186 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:19.465306 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:19.999382 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:20.464325 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:21.463087 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:21.500581 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:22.464104 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:23.000820 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:23.466962 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:24.467790 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:24.501302 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:24.570185 [INFO] mysql.slave.status:&{mysql-bin.000004 57683413 true Yes true Yes 0cba804d-9845-11eb-b0db-fa163e9bad91:1829-1962 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1962,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 Slave has read all relay log; waiting for more updates }
2021/06/26 16:01:25.466976 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:25.666384 [INFO] mysql.slave.status:&{mysql-bin.000004 57683413 true Yes true Yes 0cba804d-9845-11eb-b0db-fa163e9bad91:1829-1962 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1962,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 Slave has read all relay log; waiting for more updates }
2021/06/26 16:01:26.001421 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:26.226163 [INFO] mysql.slave.status:&{mysql-bin.000004 57683413 true Yes true Yes 0cba804d-9845-11eb-b0db-fa163e9bad91:1829-1962 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1962,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 Slave has read all relay log; waiting for more updates }
2021/06/26 16:01:26.466934 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:26.816453 [INFO] mysql.slave.status:&{mysql-bin.000004 57683413 true Yes true Yes 0cba804d-9845-11eb-b0db-fa163e9bad91:1829-1962 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1962,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 Slave has read all relay log; waiting for more updates }
2021/06/26 16:01:27.349656 [INFO] mysql.slave.status:&{mysql-bin.000004 57683413 true Yes true Yes 0cba804d-9845-11eb-b0db-fa163e9bad91:1829-1962 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1962,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 Slave has read all relay log; waiting for more updates }
2021/06/26 16:01:27.466789 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:27.501571 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:27.847386 [INFO] mysql.slave.status:&{mysql-bin.000004 57683413 true Yes true Yes 0cba804d-9845-11eb-b0db-fa163e9bad91:1829-1962 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1962,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 Slave has read all relay log; waiting for more updates }
2021/06/26 16:01:28.467647 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:29.002103 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:29.467825 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:30.467635 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:30.503307 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:31.468236 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:32.003609 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:32.468363 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:33.469618 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:33.503849 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:34.472446 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:35.004252 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:35.470297 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:36.470724 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:36.505045 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:37.471026 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:38.005288 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:38.470004 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:39.470284 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:39.506212 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:40.469646 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:41.006448 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:41.471915 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:42.474189 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:42.506759 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:43.103250 [INFO] mysql.slave.status:&{mysql-bin.000004 57685766 true Yes true Yes 0cba804d-9845-11eb-b0db-fa163e9bad91:1829-1964 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1964,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 Slave has read all relay log; waiting for more updates }
2021/06/26 16:01:43.472371 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:44.007034 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:44.474044 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:45.399258 [INFO] mysql.slave.status:&{mysql-bin.000004 57685766 true Yes true Yes 0cba804d-9845-11eb-b0db-fa163e9bad91:1829-1964 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1964,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 Slave has read all relay log; waiting for more updates }
2021/06/26 16:01:45.472811 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:45.507228 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:46.338145 [INFO] mysql.slave.status:&{mysql-bin.000004 57685766 true Yes true Yes 0cba804d-9845-11eb-b0db-fa163e9bad91:1829-1964 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1964,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 Slave has read all relay log; waiting for more updates }
2021/06/26 16:01:46.473672 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:47.007541 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:47.473403 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:47.968206 [INFO] mysql.slave.status:&{mysql-bin.000004 57685766 true Yes true Yes 0cba804d-9845-11eb-b0db-fa163e9bad91:1829-1964 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1964,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 Slave has read all relay log; waiting for more updates }
2021/06/26 16:01:48.473309 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:48.507730 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:48.797818 [INFO] mysql.slave.status:&{mysql-bin.000004 57686187 true Yes true Yes 0cba804d-9845-11eb-b0db-fa163e9bad91:1829-1965 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1965,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 Slave has read all relay log; waiting for more updates }
2021/06/26 16:01:49.475140 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:50.007921 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:50.008067 [INFO] mysql.slave.status:&{mysql-bin.000004 57686187 true Yes true Yes 0cba804d-9845-11eb-b0db-fa163e9bad91:1829-1965 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1965,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 Slave has read all relay log; waiting for more updates }
2021/06/26 16:01:50.473337 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:50.832914 [INFO] mysql.slave.status:&{mysql-bin.000004 57686187 true Yes true Yes 0cba804d-9845-11eb-b0db-fa163e9bad91:1829-1965 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1965,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 Slave has read all relay log; waiting for more updates }
2021/06/26 16:01:51.472657 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:51.508092 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:52.475658 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:53.008452 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:53.474967 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:54.473878 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:54.508610 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:55.474622 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:56.008813 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:56.475106 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:57.476667 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:57.509003 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:58.474316 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:59.009338 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:59.476117 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:02:00.474590 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:02:00.509589 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:02:01.473740 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:02:02.009840 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:02:02.476089 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:02:03.475916 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:02:03.509956 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:02:04.476939 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:02:05.010190 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:02:05.492110 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:02:06.477866 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:02:06.510434 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:02:07.321738 [WARNING] server.rpc.node.add:&{From: Nodes:[192.168.39.162:8802 192.168.39.127:8803]}
2021/06/26 16:02:07.322225 [INFO] FOLLOWER[ID:192.168.39.167:8801, V:0, E:1].check.peers.json.file[raft.meta/peers.json].stat[name:peers.json, mode:-rwxr-xr-x, size:72, lastmodified:2021-06-26 16:02:07.321878393 +0800 CST]
2021/06/26 16:02:07.322280 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:1].add.peer[192.168.39.162:8802].to.peers[map[192.168.39.162:8802:0xc0001895c0]]
2021/06/26 16:02:07.329151 [INFO] FOLLOWER[ID:192.168.39.167:8801, V:0, E:2].check.peers.json.file[raft.meta/peers.json].stat[name:peers.json, mode:-rwxr-xr-x, size:94, lastmodified:2021-06-26 16:02:07.328878364 +0800 CST]
2021/06/26 16:02:07.329185 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:2].add.peer[192.168.39.127:8803].to.peers[map[192.168.39.127:8803:0xc000189710 192.168.39.162:8802:0xc0001895c0]]
2021/06/26 16:02:07.487994 [INFO] mysql.slave.status:&{mysql-bin.000004 57686187 true Yes true Yes 0cba804d-9845-11eb-b0db-fa163e9bad91:1829-1965 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1965,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 Slave has read all relay log; waiting for more updates }
2021/06/26 16:02:07.488038 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:2].get.heartbeat.my.gtid.is:{mysql-bin.000004 57686187 true Yes true Yes 0cba804d-9845-11eb-b0db-fa163e9bad91:1829-1965 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1965,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 Slave has read all relay log; waiting for more updates }
2021/06/26 16:02:07.546353 [INFO] mysql.get.local.uuid:[8b92218c-af9f-11eb-8207-fa163e0362cf]
2021/06/26 16:02:07.546920 [INFO] mysql.get.local.uuid:[8b92218c-af9f-11eb-8207-fa163e0362cf]
2021/06/26 16:02:07.547729 [WARNING] follower.gtid[&{mysql-bin.000004 57686187 true Yes true Yes 0cba804d-9845-11eb-b0db-fa163e9bad91:1829-1965 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1965,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 Slave has read all relay log; waiting for more updates }].bigger.than.remote[&{mysql-bin.000004 57686187 true true 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1965,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77658,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 }]
2021/06/26 16:02:07.547762 [WARNING] INVALID[ID:192.168.39.167:8801, V:0, E:2].get.heartbeat.from[N:192.168.39.162:8802, V:105, E:2].change.mysql.master
2021/06/26 16:02:08.010688 [WARNING] INVALID[ID:192.168.39.167:8801, V:0, E:2].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:02:08.013100 [WARNING] INVALID[ID:192.168.39.167:8801, V:0, E:2].send.ping.to.peer[192.168.39.127:8803].client.call.ok.rsp[&{{0 0 FOLLOWER} { 0 false false } OK}]
2021/06/26 16:02:08.014062 [WARNING] INVALID[ID:192.168.39.167:8801, V:0, E:2].send.ping.to.peer[192.168.39.162:8802].client.call.ok.rsp[&{{0 0 LEADER} { 0 false false } OK}]
2021/06/26 16:02:08.394047 [WARNING] INVALID[ID:192.168.39.167:8801, V:0, E:2].get.heartbeat.change.to.the.new.master[192.168.39.162:8802].successed
2021/06/26 16:02:08.394078 [WARNING] INVALID[ID:192.168.39.167:8801, V:0, E:2].get.heartbeat.from[N:192.168.39.162:8802, V:105, E:2].update.view
2021/06/26 16:02:08.394089 [WARNING] INVALID[ID:192.168.39.167:8801, V:0, E:2].do.updateViewID[FROM:0 TO:105]
2021/06/26 16:02:08.394458 [WARNING] INVALID[ID:192.168.39.167:8801, V:105, E:2].follower.state.machine.exit
2021/06/26 16:02:08.397859 [WARNING] INVALID[ID:192.168.39.167:8801, V:105, E:2].leaderStopShellCommand[[-c ]].done
2021/06/26 16:02:11.411235 [INFO] mysql.slave.status:&{mysql-bin.000004 57686633 true Yes true Yes 0cba804d-9845-11eb-b0db-fa163e9bad91:1966 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1966,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 Slave has read all relay log; waiting for more updates }
2021/06/26 16:02:13.316226 [INFO] mysql.slave.status:&{mysql-bin.000004 57686633 true Yes true Yes 0cba804d-9845-11eb-b0db-fa163e9bad91:1966 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1966,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 Slave has read all relay log; waiting for more updates }
2021/06/26 16:02:20.152371 [INFO] mysql.slave.status:&{mysql-bin.000004 57687054 true Yes true Yes 0cba804d-9845-11eb-b0db-fa163e9bad91:1966-1967 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1967,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 Slave has read all relay log; waiting for more updates }
2021/06/26 16:02:21.160871 [INFO] mysql.slave.status:&{mysql-bin.000004 57687054 true Yes true Yes 0cba804d-9845-11eb-b0db-fa163e9bad91:1966-1967 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1967,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 Slave has read all relay log; waiting for more updates }
2021/06/26 16:02:21.740884 [INFO] mysql.slave.status:&{mysql-bin.000004 57687054 true Yes true Yes 0cba804d-9845-11eb-b0db-fa163e9bad91:1966-1967 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1967,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 Slave has read all relay log; waiting for more updates }

请xenon 研发人员帮忙看一下。 谢谢

[question] 基于xenon的mysql集群vip没有指定主库

拓扑描述:
192.168.36.115 master(主机名)----(主库)
192.168.36.116 slave (主机名)----(从库1)
192.168.36.117 normal(主机名)----(从库2)

vip:192.168.36.200

下面是3节点的配置文件:
xenon1.txt
xenon2.txt
xenon3.txt

下面是keepalived配置文件:
keepalived1.txt
keepalived2.txt

集群状态 :
1111

问题描述:
1111
因为每次通过VIPvip打开一个新的连接,mysql主机都改变,没有办法确通过VIP连接的一定是主库,而且后期我想通过proxysql做读写分离,proxysql是基于端口或者sql语句进行读写分离。但是我的mysql集群都基于xenon的搭建的,只有一个VIP和一个端口进行连接的,而且是访问后端mysql是轮询模式,怎么实现读写分离?

请研发氙的同学帮忙解决一下。 thanks

[feature] improve xenon xlog module

Currently the log in xenon output without filename:

 2021/03/08 06:15:46.028670 [INFO]      main: tag=[v1.1.4-1-g63fd6c2], git=[63fd6c2], goversion=[go1.14.4], builddate=[2021/03/08 06:15:00]
 2021/03/08 06:15:46.028749 [WARNING]   xenon.conf.raft:[&{MetaDatadir:raft.meta HeartbeatTimeout:1000 AdmitDefeatHtCnt:10 ElectionTimeout:3000 PurgeBinlogInterval:300000 SuperIDLE:false LeaderStartCommand: LeaderStopCommand: PurgeBinlogDisabled:false RequestTimeout:500 CandidateWaitFor2Nodes:60000}]
 2021/03/08 06:15:46.028774 [WARNING]   xenon.conf.mysql:[&{Admin:root Passwd: Host:192.168.0.9 Port:3306 Basedir:/home/ubuntu/percona-server/xpkg1/install Version:mysql57 DefaultsFile:/home/ubuntu/percona-server/xpkg1/install/bin/my3306.cnf PingTimeout:1000 AdmitDefeatPingCnt:2 MasterSysVars: SlaveSysVars: ReplHost:192.168.0.2 ReplUser:qc_repl ReplPasswd:repl}]
 2021/03/08 06:15:46.028804 [WARNING]   xenon.conf.mysqld:[&{SSHHost:192.168.0.9 SSHUser:ubuntu SSHPasswd:ubuntu SSHPort:22 BackupDir:/home/ubuntu/data3306 XtrabackupBinDir:/home/ubuntu/percona-server/xpkg1/install BackupIOPSLimits:100000 UseMemory:2GB Parallel:2 MysqldMonitorInterval:1000 MaxAllowedLocalTrxCount:0 Admin:root Passwd: Host:192.168.0.9 Port:3306 Basedir:/home/ubuntu/percona-server/xpkg1/install DefaultsFile:/home/ubuntu/percona-server/xpkg1/install/bin/my3306.cnf}]

We should add file info, add log.Lshortfile into code like:

const (
        D_LOG_FLAGS int = log.LstdFlags | log.Lmicroseconds
)

changed to

const (
        D_LOG_FLAGS int = log.LstdFlags | log.Lmicroseconds | log.Lshortfile
)

[bug] some test case run failed

sometimes next test cases run failed.

=== RUN   TestNormalTicker
        Error Trace:    common_test.go:85
        Error:		Not equal: 
        	expected: 1
        	received: 0
        
--- FAIL: TestNormalTicker (0.10s)


=== RUN   TestCommand
        Error Trace:    linux_test.go:71
        Error:		Expected nil, but got: cmd.outs.[sleep: missing operand].found[0]!=expects[1]
        
--- FAIL: TestCommand (0.03s)

创建数据库会卡死

A,B,C 主机做了集群后,在D机器,做了radon,在E机器,连接D 主机创建的radon proxy后,进入mysql console,执行sql创建数据就卡死了

[bug] Strong consistency cannot be guaranteed after a two-node cluster adds a follower

Now rpl_semi_sync_master_timeout just settings in MySQL config and leader of two-node cluster.

If we just add a new follower to a two-node cluster but do not restart MySQL, now the value of does not change to a large number.

So semi-sync maybe degrades to async.

Detailed description:

If the role of the new node that we will add to the two-node cluster is FOLLOWER, we need to modify rpl_semi_sync_master_timeout.

But If It is IDLE, we should not modify rpl_semi_sync_master_timeout.

[feature] add an API to get mysql.user

Summary

If I want to get user list from xenon cluster, I must create a user and call mysql client, this method is inconvenient, so it's best to add an API to get mysql users.

[question] I meet some errors when I run make test

The test case errors I met like next, should I need to do some configraion before I run make test?:

On Mac:

=== RUN   TestNormalTicker
--- FAIL: TestNormalTicker (0.10s)
        Error Trace:    common_test.go:83
	Error:  	Not equal: 
			expected: 1
			received: 0
		
=== RUN   TestRunCommandWithTimeout
--- PASS: TestRunCommandWithTimeout (1.01s)
=== RUN   TestRunCommand
--- PASS: TestRunCommand (0.01s)
=== RUN   TestCommand
--- FAIL: TestCommand (0.04s)
        Error Trace:    linux_test.go:60
	Error:  	Expected nil, but got: cmd.outs.[sleep: missing operand].found[0]!=expects[1]
		
FAIL
FAIL	xbase/common	1.703s
make[1]: *** [testcommon] Error 1
make: *** [test] Error 2

On linux:

=== RUN   TestCLIInitCommand
init.go:58: unexpected error: getEth[192.168.0.14].can.not.found.eth

 2019/03/22 10:07:01.832637 	  [PANIC]  	 getEth[192.168.0.14].can.not.found.eth
--- FAIL: TestCLIInitCommand (0.01s)
panic: 	  [PANIC]  	 getEth[192.168.0.14].can.not.found.eth [recovered]
	panic: 	  [PANIC]  	 getEth[192.168.0.14].can.not.found.eth

goroutine 404 [running]:
testing.tRunner.func1(0xc4201ae5a0)
	/usr/lib/go-1.10/src/testing/testing.go:742 +0x29d
panic(0x822f80, 0xc42032a990)
	/usr/lib/go-1.10/src/runtime/panic.go:502 +0x229
xbase/xlog.(*Log).Panic(0xc4200a3f90, 0x8ce9fc, 0x2, 0xc420269b50, 0x1, 0x1)
	/home/ubuntu/github/xenon/src/xbase/xlog/xlog.go:142 +0x190
cli/cmd.ErrorOK(0x92d3e0, 0xc42032a950)
	/home/ubuntu/github/xenon/src/cli/cmd/common.go:35 +0x222
cli/cmd.initCommandFn(0xc420274000, 0xc4202e64d0, 0x1, 0xb)
	/home/ubuntu/github/xenon/src/cli/cmd/init.go:58 +0x88
vendor/github.com/spf13/cobra.(*Command).execute(0xc420274000, 0xc4202e6420, 0xb, 0xb, 0xc420274000, 0xc4202e6420)
	/home/ubuntu/github/xenon/src/vendor/github.com/spf13/cobra/command.go:603 +0x234
vendor/github.com/spf13/cobra.(*Command).ExecuteC(0xc420274000, 0xc42032a8a0, 0x8d1e80, 0xc42025cec0)
	/home/ubuntu/github/xenon/src/vendor/github.com/spf13/cobra/command.go:689 +0x2d4
cli/cmd.executeCommand(0xc420274000, 0xc4202e6420, 0xb, 0xb, 0x0, 0x0, 0x0, 0x1)
	/home/ubuntu/github/xenon/src/cli/cmd/common.go:101 +0xda
cli/cmd.TestCLIInitCommand(0xc4201ae5a0)
	/home/ubuntu/github/xenon/src/cli/cmd/init_test.go:27 +0x179
testing.tRunner(0xc4201ae5a0, 0x8f51d8)
	/usr/lib/go-1.10/src/testing/testing.go:777 +0xd0
created by testing.(*T).Run
	/usr/lib/go-1.10/src/testing/testing.go:824 +0x2e0
FAIL	cli/cmd	0.796s
makefile:56: recipe for target 'testcli' failed
make[1]: *** [testcli] Error 1
make[1]: Leaving directory '/home/ubuntu/github/xenon'
makefile:28: recipe for target 'test' failed
make: *** [test] Error 2

leader 日志一直出现slavestatus false是什么意思?

2021/06/23 16:28:33.908122 [INFO] mysql.slave.status:&{ 0 false false }
2021/06/23 16:28:33.908290 [INFO] mysql.master.status:&{mysql-bin.000017 236 true true 31f483d7-d324-11eb-b1da-000c29a5210a:1-2,
4496becd-d324-11eb-b5d0-000c29d747f6:1-26 0 }

[question] 主库从库端口号不是默认端口3306,xenon 启动报错的问题

拓扑描述:

10.103.70.122 db01(hostname) ---- (主库)
10.103.70.123 db02 (hostname)---- (从库1)
10.103.70.124 db03(hostname) ----(从库2)

下面是3节点的配置文件:
xenon.json(db01).txt
xenon.json(db02).txt
xenon.json(db03).txt

下面是报错日志:

xenon-db01.log.txt
xenon-db02.log.txt
xenon-db03.log.txt

从报错信息:

CANDIDATE[ID:10.103.70.124:8801, V:223, E:2].send.requestvote.to.peer[db02:3306].new.client.error[dial tcp 10.103.70.123:3306: getsockopt: connection refused

可以看出是实例端口问题,xenon找的3306端口,但是实际上我的环境mysql 实例都不是3306,因此报错。

请xenon研发同学帮忙解决!!!

[propose]standard code style

fix some bad code style, like:

r.lock.Add(1)

should be channed to

r.wg.Add(1)

func (l *LinuxArgs) Start() []string { 

should be changed to

func (l *LinuxArgs) GenerateStartCmd() []string { 

xenon startup failure

日志报错如下:
xenon:[{Tag:v1.0.1-3-g6bf0a31 Time:2018/11/10 01:15:23 Git:6bf0a31 GoVersion:go1.9.4 Platform:linux amd64}]
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x721b8c]

请xenon研发同学帮忙解决!!! thanks

[feature] Adaptation MySQL 5.6

In this code, if we want to get slaveGtid, will run show slave status for channel ''. But it doesn't support in MySQL 5.6.

Because for channel '' it's same as "show slave status" . So can we change it to "show slave status" ?
and in there we also use show slave status.

[feature] refactor function isMysqldRunning()

Now xenon check the mysqld_safe --defaults-file=[] process is running by bash, if mysql and xenon are not in the same machine, how can it work? Maybe we can use ping() better ?

// check the mysqld_safe --defaults-file=[] process is running.
func (m *Mysqld) isMysqldRunning() bool {
        log := m.log

        args := m.argsHandler.IsRunning()
        outs, err := m.cmd.RunCommand(bash, args)
        if err != nil {
                log.Error("mysqld57.isMysqldRunning.error[%v:%+v]", outs, err)
                return false
        }       
        running, err := strconv.Atoi(strings.TrimSpace(outs))
        if err != nil { 
                log.Error("isMysqldRunning.error[%+v]", err)
                return true
        }       
        return (running > 0)
}       

请教一个Failover问题

1

     Master(A)
-----/------\----------网络分区----
Slave1(B)  Slave2(C)

如果出现网络分区, Master仍然存活, 但是Master无法和Slave1,2通信, A无法和B,C通信. 但是应用仍然可以访问Master, 但由于不满足半同步最小从库数, 所有写入都被阻塞等待ack, 此时Xenon会如何处理?

2

     Master(A)
-----/------\----------网络分区----
Slave1(B)  Slave2(C)

如果出现网络分区, Master hang(可能由于内核bug, 任何请求都无法响应), 且Master无法和Slave1,2通信, A无法和B,C通信. 应用也不能访问Master, 此时Xenon会如何处理?

3

              Master(A) ---> Slave4(E)
-------/------|------\----------网络分区----
Slave1(B)  Slave2(C)  Slave3(D)

如果出现网络分区, Master和Slave4仍然存活, 但无法和Slave1,2,3通信, A,E无法和B,C,D通信, 应用仍然可以访问Master, 满足半同步最小从库数, 写入数据可以提交, 此时Xenon会如何处理?

Print error log information

src/raft/cmd.go

func (r *Raft) leaderStopShellCommand() error {
	args := []string{
		"-c",
		r.conf.LeaderStopCommand,
	}

	if out, err := r.cmd.RunCommand(bash, args); err != nil {
		r.ERROR("leaderStartShellCommand[%v].out[%v].error[%+v]", args, out, err)
		return err
	}
	r.WARNING("leaderStopShellCommand[%v].done", args)
	return nil
}

r.ERROR("leaderStopShellCommand[%v].out[%v].error[%+v]", args, out, err)

[bug] listen endpoint panic but program still run

The config json file:

"server": {
	"endpoint": "test-krypton-1.test-krypton.default:8801"
},

When the container start, get error logs:

2021/04/16 03:18:29.911339 trace.go:32:      [WARNING]  FOLLOWER[ID:test-krypton-1.test-krypton.default:8801, V:0, E:0].state.init
2021/04/16 03:18:29.913554 server.go:186:       [PANIC]    server.rpc.start.error[listen tcp: lookup test-krypton-1.test-krypton.default on 10.96.0.10:53: no such host
xbase/xrpc.(*Service).Start
    /go/src/github.com/radondb/xenon/src/xbase/xrpc/xrpc.go:54
server.(*Server).Start
    /go/src/github.com/radondb/xenon/src/server/server.go:185
main.main
    /go/src/github.com/radondb/xenon/src/xenon/xenon.go:79
runtime.main
    /usr/local/go/src/runtime/proc.go:203
runtime.goexit
    /usr/local/go/src/runtime/asm_amd64.s:1357]

According to normal logic, the program should exit at this time. Actually xenon still run because of the code recover() , but we cannot listen the endpoint.

[propose] mv checkuser outof Ping() function

Now "check replication users" is in mysql.Ping(). This has nothing to do with the function of Ping().

PIng() {
...
CheckUserExists()
...
}

We should mv it out of Ping() like:

Ping(){
}
CheckUserExists(){
}

[propose] keep the called library structure consistent with radon

Distinguish the system library, self-built and vendor library.
e.g., next should be adjusted:

import (
        "build"
        "config"
        "flag"
        "fmt"
        "log"
        "net/http"
        _ "net/http/pprof"
        "os"
        "server"
        "xbase/xlog"
)

to

import (
        "flag"
        "fmt"
        "net/http"
        _ "net/http/pprof"
        "os"

        "build"
        "config"
        "log"
        "server"
        "xbase/xlog"
)

Xenon集群除了Master以外,另外两个节点log-bin无法备份

查看集群状态

./xenoncli cluster mysql
+-------------------+----------+-------+-----------+------------------------+----------------+
| ID | Raft | Mysql | Option | Master_Log_File/Pos | IO/SQL_Running | Seconds_Behind |
+-------------------+----------+-------+-----------+------------------------+----------------+
| 168.5.80.101:8801 | LEADER | ALIVE | READWRITE | [mysql-bin.000012/194] | [true/true] |
+-------------------+----------+-------+-----------+------------------------+----------------+
| 168.5.80.110:8801 | FOLLOWER | ALIVE | READONLY | [/4] | [false/true] |
+-------------------+----------+-------+-----------+------------------------+----------------+
| 168.5.80.94:8801 | FOLLOWER | ALIVE | READONLY | [/4] | [false/true] |
+-------------------+----------+-------+-----------+------------------------+----------------+

无法同步Slave节点日志

2018/08/30 09:21:47.256256 [INFO] server.mysql.wait.for.work[maxwait:60s]
2018/08/30 09:21:47.259514 [INFO] mysql.slave.status:&{ 4 false No false No befc84a7-ab60-11e8-bf7c-005056896b97:1-8 }
2018/08/30 09:21:47.259545 [INFO] server.mysql.gtid:{Master_Log_File: Read_Master_Log_Pos:4 Relay_Master_Log_File: Slave_IO_Running:false Slave_IO_Running_Str:No Slave_SQL_Running:false Slave_SQL_Running_Str:No Retrieved_GTID_Set: Executed_GTID_Set:befc84a7-ab60-11e8-bf7c-005056896b97:1-8 Seconds_Behind_Master: Slave_SQL_Running_State: Last_Error: Last_IO_Error: Last_SQL_Error:}
2018/08/30 09:21:47.259549 [INFO] server.mysql.set.to.READONLY
2018/08/30 09:21:47.259802 [INFO] server.mysql.start.slave
2018/08/30 09:21:47.410705 [INFO] server.mysql.check.replication.user...
2018/08/30 09:21:47.410993 [INFO] server.mysql.setup.done
2018/08/30 09:21:47.410999 [INFO] server.prepare.setup.RPC
2018/08/30 09:21:47.411180 [INFO] server.RPC.setup.done
2018/08/30 09:21:47.411209 [INFO] mysqld[/etc/my.cnf].monitor.start...
2018/08/30 09:21:47.411216 [INFO] mysql[localhost:3306].startping...
2018/08/30 09:21:47.411224 [INFO] FOLLOWER[ID:168.5.80.94:8801, V:0, E:0].raft.start...
2018/08/30 09:21:47.411277 [WARNING] xrpc.Start.listening.on[168.5.80.94:8801]
2018/08/30 09:21:47.411280 [INFO] server.start.success...
2018/08/30 09:21:47.411283 [INFO] xenon.start.success...

配置

三个节点xenon配置几乎一样

    "replication":
    {
            "user":"root",
            "passwd":"123456"
    },
    "backup":
    {
            "ssh-host":"168.5.80.94",
            "ssh-user":"root",
            "ssh-passwd":"",
            "basedir":"/usr/local/mysql",
            "backupdir":"/opt/xenon/data/mysql",
            "xtrabackup-bindir":"/opt/xenon",
            "backup-iops-limits":100000,
            "backup-use-memory": "2GB",
            "backup-parallel": 2
    },

其他

不知道怎么排查问题,以及提供什么信息才能表述清楚。

[propose] fix some misspell errors

I found some misspell errors like, we can fix them:

xenon/src/model/mysql.go
Line 31: warning: "postion" is a misspelling of "position" (misspell)
xenon/src/raft/candidate.go
Line 64: warning: "boradcast" is a misspelling of "broadcast" (misspell)
Line 86: warning: "boradcast" is a misspelling of "broadcast" (misspell)
xenon/src/raft/mock.go
Line 135: warning: "boradcast" is a misspelling of "broadcast" (misspell)
Line 149: warning: "boradcast" is a misspelling of "broadcast" (misspell)
xenon/src/raft/raft_test.go
Line 254: warning: "boradcast" is a misspelling of "broadcast" (misspell)
...
...

[propose] remove meaningless code in xenon.go

The switch ... case has no meaning here, we should remove it and new log with default DEBUG:

        switch flag_log {
        case "STD":
                log = xlog.NewStdLog(xlog.Level(xlog.DEBUG))
        case "SYS":
                log = xlog.NewSysLog(xlog.Level(xlog.DEBUG))
        default:
                log = xlog.NewStdLog(xlog.Level(xlog.DEBUG))
        }   
        log.SetLevel(conf.Log.Level)
        defer log.Close()

[feature] add api: stopslavemonitor & startslavemonitor

A Three-node cluster, if two slave nodes SQL thread exceptions are caused for some network reason, slave nodes will directly stop slave.

This causes a MySQL semi-sync ERROR because all query requests on the master node are waiting.

Master semi-sync variables:
rpl_semi_sync_master_timeout=1000000000000000000
rpl_semi_sync_wait_no_slave=ON
rpl_semi_sync_master_wait_point=AFTER_SYNC

Maybe xenon needs two new API: stopslavemonitor & startslavemonitor

Detailed description:

These two apis can only be executed when raft role is IDLE.

xenoncli mysql stopslavemonitor

When a slave executes stopslavemonitor, this slave will stop slave status monitor.

xenoncli mysql startslavemonitor

When a slave executes slaveslavemonitor, this slave will start a slave monitor.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.