diff options
author | Kristian Nielsen <knielsen@knielsen-hq.org> | 2014-06-25 15:17:03 +0200 |
---|---|---|
committer | Kristian Nielsen <knielsen@knielsen-hq.org> | 2014-06-25 15:17:03 +0200 |
commit | 86362129a2f70349cc79adb0825d5bc8f9a61f27 (patch) | |
tree | 85d72a6ee651f847400b98e8f1016b74dc51460e /sql/log_event_old.cc | |
parent | 00467e136e5080e8c175019534ad198b7dcc35d3 (diff) | |
download | mariadb-git-86362129a2f70349cc79adb0825d5bc8f9a61f27.tar.gz |
MDEV-6120: When slave stops with error, error message should indicate the failing GTID
If replication breaks in GTID mode, it is not trivial to determine the GTID of
the failing event group. This is a problem, as such GTID is needed eg. to
explicitly set @@gtid_slave_pos to skip to after that event group, or to
compare errors on different servers, etc.
Fix by ensuring that relevant slave errors logged to the error log include the
GTID of the event group containing the problem event.
Diffstat (limited to 'sql/log_event_old.cc')
-rw-r--r-- | sql/log_event_old.cc | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/sql/log_event_old.cc b/sql/log_event_old.cc index 0cb78686243..7a48bea7712 100644 --- a/sql/log_event_old.cc +++ b/sql/log_event_old.cc @@ -133,8 +133,7 @@ Old_rows_log_event::do_apply_event(Old_rows_log_event *ev, rpl_group_info *rgi) { DBUG_ASSERT(ptr->m_tabledef_valid); TABLE *conv_table; - if (!ptr->m_tabledef.compatible_with(thd, const_cast<Relay_log_info*>(rli), - ptr->table, &conv_table)) + if (!ptr->m_tabledef.compatible_with(thd, rgi, ptr->table, &conv_table)) { ev_thd->is_slave_error= 1; rgi->slave_close_thread_tables(ev_thd); @@ -1530,8 +1529,7 @@ int Old_rows_log_event::do_apply_event(rpl_group_info *rgi) ptr= static_cast<RPL_TABLE_LIST*>(ptr->next_global), i++) { TABLE *conv_table; - if (ptr->m_tabledef.compatible_with(thd, const_cast<Relay_log_info*>(rli), - ptr->table, &conv_table)) + if (ptr->m_tabledef.compatible_with(thd, rgi, ptr->table, &conv_table)) { thd->is_slave_error= 1; rgi->slave_close_thread_tables(thd); |