summaryrefslogtreecommitdiff
path: root/sql/sql_repl.cc
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2021-10-21 13:41:04 +0300
committerMarko Mäkelä <marko.makela@mariadb.com>2021-10-21 13:41:04 +0300
commite4a7c15dd6ba812ac9a4183dec937513eb68a2bc (patch)
tree41954d8a6608a2309994d3bbe09f72c1cc73ce6f /sql/sql_repl.cc
parent1388845e048011932a6d715936a781479c5e6af3 (diff)
parent1a2308d3f443d8fcacf5506cb96f802dee3a3519 (diff)
downloadmariadb-git-e4a7c15dd6ba812ac9a4183dec937513eb68a2bc.tar.gz
Merge 10.2 into 10.3
Diffstat (limited to 'sql/sql_repl.cc')
-rw-r--r--sql/sql_repl.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/sql/sql_repl.cc b/sql/sql_repl.cc
index 389346e389d..7d1ddc08aaa 100644
--- a/sql/sql_repl.cc
+++ b/sql/sql_repl.cc
@@ -3882,6 +3882,16 @@ err:
mi->unlock_slave_threads();
if (ret == FALSE)
my_ok(thd);
+ else
+ {
+ /*
+ Depending on where CHANGE MASTER failed, the logs may be waiting to be
+ reopened. This would break future log updates and CHANGE MASTER calls.
+ `try_fix_log_state()` allows the relay log to fix its state to no longer
+ expect to be reopened.
+ */
+ mi->rli.relay_log.try_fix_log_state();
+ }
DBUG_RETURN(ret);
}