summaryrefslogtreecommitdiff
path: root/sql/slave.cc
diff options
context:
space:
mode:
authorSergei Golubchik <sergii@pisem.net>2014-02-03 15:22:39 +0100
committerSergei Golubchik <sergii@pisem.net>2014-02-03 15:22:39 +0100
commit72c20282db820b0b0818aea160a485bdca897eec (patch)
tree3089e022d958990fc0a405a38ba43ae00c87103c /sql/slave.cc
parent5e1d5d9bc0bf9ea776bffe6c4914a84be920c0b2 (diff)
parent2acc01b3cfa27074f93016b893cda20fa0a3497f (diff)
downloadmariadb-git-72c20282db820b0b0818aea160a485bdca897eec.tar.gz
10.0-base merge
Diffstat (limited to 'sql/slave.cc')
-rw-r--r--sql/slave.cc23
1 files changed, 19 insertions, 4 deletions
diff --git a/sql/slave.cc b/sql/slave.cc
index 835b0d9b15a..6854d2bd6de 100644
--- a/sql/slave.cc
+++ b/sql/slave.cc
@@ -1794,10 +1794,14 @@ when it try to get the value of TIME_ZONE global variable from master.";
if (mysql_errno(mysql) == ER_UNKNOWN_SYSTEM_VARIABLE)
{
- // this is tolerable as OM -> NS is supported
- mi->report(WARNING_LEVEL, mysql_errno(mysql),
- "Notifying master by %s failed with "
- "error: %s", query, mysql_error(mysql));
+ /* Ignore this expected error if not a high error level */
+ if (global_system_variables.log_warnings > 1)
+ {
+ // this is tolerable as OM -> NS is supported
+ mi->report(WARNING_LEVEL, mysql_errno(mysql),
+ "Notifying master by %s failed with "
+ "error: %s", query, mysql_error(mysql));
+ }
}
else
{
@@ -6200,6 +6204,17 @@ static Log_event* next_event(rpl_group_info *rgi, ulonglong *event_size)
}
/*
+ We have to check sql_slave_killed() here an extra time.
+ Otherwise we may miss a wakeup, since last check was done
+ without holding LOCK_log.
+ */
+ if (sql_slave_killed(rgi))
+ {
+ mysql_mutex_unlock(log_lock);
+ break;
+ }
+
+ /*
We can, and should release data_lock while we are waiting for
update. If we do not, show slave status will block
*/