summaryrefslogtreecommitdiff
path: root/sql/slave.cc
diff options
context:
space:
mode:
authorMonty <monty@mariadb.org>2016-01-03 13:20:07 +0200
committerMonty <monty@mariadb.org>2016-01-03 13:20:07 +0200
commit661a6d89065390ca1e9b4be05219b75f850ed290 (patch)
tree5e58bf86d9880d4cfc23eb71e074135b9e3ed45a /sql/slave.cc
parent4b4777ab63522b2bdd1f98ad03558a5b1da53dc0 (diff)
downloadmariadb-git-661a6d89065390ca1e9b4be05219b75f850ed290.tar.gz
Cleanup of slave code:
- Added testing if connection is killed to shortcut reading of connection data This will allow us later in 10.2 to do a cleaner shutdown of slaves (less errors in the log) - Add new status variables: Slaves_connected, Slaves_running and Slave_connections. - Use MYSQL_SLAVE_NOT_RUN instead of 0 with slave_running. - Don't print obvious extra warnings to the error log when slave is shut down normally.
Diffstat (limited to 'sql/slave.cc')
-rw-r--r--sql/slave.cc13
1 files changed, 6 insertions, 7 deletions
diff --git a/sql/slave.cc b/sql/slave.cc
index 3f8bc066378..6b2a88a2953 100644
--- a/sql/slave.cc
+++ b/sql/slave.cc
@@ -112,7 +112,7 @@ static const char *reconnect_messages[SLAVE_RECON_ACT_MAX][SLAVE_RECON_MSG_MAX]=
{
{
"Waiting to reconnect after a failed registration on master",
- "Slave I/O thread killed while waitnig to reconnect after a failed \
+ "Slave I/O thread killed while waiting to reconnect after a failed \
registration on master",
"Reconnecting after a failed registration on master",
"failed registering on master, reconnecting to try again, \
@@ -4040,10 +4040,9 @@ connected:
if (request_dump(thd, mysql, mi, &suppress_warnings))
{
sql_print_error("Failed on request_dump()");
- if (check_io_slave_killed(mi, "Slave I/O thread killed while \
-requesting master dump") ||
- try_to_reconnect(thd, mysql, mi, &retry_count, suppress_warnings,
- reconnect_messages[SLAVE_RECON_ACT_DUMP]))
+ if (check_io_slave_killed(mi, NullS) ||
+ try_to_reconnect(thd, mysql, mi, &retry_count, suppress_warnings,
+ reconnect_messages[SLAVE_RECON_ACT_DUMP]))
goto err;
goto connected;
}
@@ -4059,6 +4058,7 @@ requesting master dump") ||
});
const char *event_buf;
+ mi->slave_running= MYSQL_SLAVE_RUN_READING;
DBUG_ASSERT(mi->last_error().number == 0);
while (!io_slave_killed(mi))
{
@@ -4071,8 +4071,7 @@ requesting master dump") ||
*/
THD_STAGE_INFO(thd, stage_waiting_for_master_to_send_event);
event_len= read_event(mysql, mi, &suppress_warnings);
- if (check_io_slave_killed(mi, "Slave I/O thread killed while \
-reading event"))
+ if (check_io_slave_killed(mi, NullS))
goto err;
DBUG_EXECUTE_IF("FORCE_SLAVE_TO_RECONNECT_EVENT",
if (!retry_count_event)