summaryrefslogtreecommitdiff
path: root/sql/rpl_rli.cc
diff options
context:
space:
mode:
authorunknown <knielsen@knielsen-hq.org>2013-07-03 19:03:21 +0200
committerunknown <knielsen@knielsen-hq.org>2013-07-03 19:03:21 +0200
commit592e464a021747d7ac5b13222f5de1cd4250531c (patch)
tree30b8da717ac2ae51352376b1185afe318ed42ba6 /sql/rpl_rli.cc
parent31a5edb5c27d2ecae8d19345e1a373d22246143a (diff)
downloadmariadb-git-592e464a021747d7ac5b13222f5de1cd4250531c.tar.gz
MDEV-4506: Parallel replication. Intermediate commit.
Pass down rpl_group_info * to remove one instance of non-threadsafe use of rli->group_info.
Diffstat (limited to 'sql/rpl_rli.cc')
-rw-r--r--sql/rpl_rli.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/sql/rpl_rli.cc b/sql/rpl_rli.cc
index 264c0b2cc22..bbf10dbcd51 100644
--- a/sql/rpl_rli.cc
+++ b/sql/rpl_rli.cc
@@ -1194,13 +1194,15 @@ bool Relay_log_info::cached_charset_compare(char *charset) const
void Relay_log_info::stmt_done(my_off_t event_master_log_pos,
- time_t event_creation_time, THD *thd)
+ time_t event_creation_time, THD *thd,
+ struct rpl_group_info *rgi)
{
#ifndef DBUG_OFF
extern uint debug_not_change_ts_if_art_event;
#endif
clear_flag(IN_STMT);
+ DBUG_ASSERT(rgi->rli == this);
/*
If in a transaction, and if the slave supports transactions, just
inc_event_relay_log_pos(). We only have to check for OPTION_BEGIN
@@ -1229,7 +1231,7 @@ void Relay_log_info::stmt_done(my_off_t event_master_log_pos,
else
{
inc_group_relay_log_pos(event_master_log_pos);
- if (rpl_global_gtid_slave_state.record_and_update_gtid(thd, this))
+ if (rpl_global_gtid_slave_state.record_and_update_gtid(thd, rgi))
{
report(WARNING_LEVEL, ER_CANNOT_UPDATE_GTID_STATE,
"Failed to update GTID state in %s.%s, slave state may become "