Changed behaviour for a slave requesting master_log_pos beyond binlog file size
Slave request for a log_pos behind binlog file size may result in a disconnection or replication error: if binlog file is latest one slave get disconnected otherwise an error message is returned and replication stops
This commit is contained in:
@ -2034,6 +2034,27 @@ char read_errmsg[BINLOG_ERROR_MSG_LEN+1];
|
||||
read_errmsg);
|
||||
}
|
||||
|
||||
if (hdr.ok == SLAVE_POS_BEYOND_EOF) {
|
||||
MXS_ERROR("%s Slave %s:%i, server-id %d, binlog '%s', %s",
|
||||
router->service->name,
|
||||
slave->dcb->remote,
|
||||
ntohs((slave->dcb->ipv4).sin_port),
|
||||
slave->serverid,
|
||||
slave->binlogfile,
|
||||
read_errmsg);
|
||||
|
||||
/*
|
||||
* Close the slave session and socket
|
||||
* The slave will try to reconnect
|
||||
*/
|
||||
dcb_close(slave->dcb);
|
||||
|
||||
#ifndef BLFILE_IN_SLAVE
|
||||
blr_close_binlog(router, file);
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (hdr.ok == SLAVE_POS_READ_ERR) {
|
||||
MXS_ERROR("%s Slave %s:%i, server-id %d, binlog '%s', %s",
|
||||
router->service->name,
|
||||
|
||||
Reference in New Issue
Block a user