summaryrefslogtreecommitdiff
path: root/sql/rpl_parallel.cc
diff options
context:
space:
mode:
authorunknown <knielsen@knielsen-hq.org>2013-10-17 14:11:19 +0200
committerunknown <knielsen@knielsen-hq.org>2013-10-17 14:11:19 +0200
commit7681c6aa787f9d3402059957bd8d993997cb623b (patch)
tree92eda5e12132c16d13e16abc7954f21c79740b11 /sql/rpl_parallel.cc
parentfcaf1e6a82e2a9f6914b72ea9307c7d91d194150 (diff)
downloadmariadb-git-7681c6aa787f9d3402059957bd8d993997cb623b.tar.gz
MDEV-4506: Parallel replication: Intermediate commit.
Fix some part of update of old-style coordinates in parallel replication: - Ignore XtraDB request for old-style coordinates, not meaningful for parallel replication (must use GTID to get crash-safe parallel slave). - Only update relay log coordinates forward, not backwards, to ensure that parallel threads do not conflict with each other. - Move future_event_relay_log_pos to rgi.
Diffstat (limited to 'sql/rpl_parallel.cc')
-rw-r--r--sql/rpl_parallel.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/sql/rpl_parallel.cc b/sql/rpl_parallel.cc
index 19ae2a35339..fbf135c0bb6 100644
--- a/sql/rpl_parallel.cc
+++ b/sql/rpl_parallel.cc
@@ -64,6 +64,7 @@ rpt_handle_event(rpl_parallel_thread::queued_event *qev,
/* ToDo: Access to thd, and what about rli, split out a parallel part? */
mysql_mutex_lock(&rli->data_lock);
qev->ev->thd= thd;
+ rgi->future_event_relay_log_pos= qev->future_event_relay_log_pos;
err= apply_event_and_update_pos(qev->ev, thd, rgi, rpt);
thd->rgi_slave= NULL;
@@ -659,6 +660,7 @@ rpl_parallel::do_event(rpl_group_info *serial_rgi, Log_event *ev)
}
qev->ev= ev;
qev->next= NULL;
+ qev->future_event_relay_log_pos= rli->future_event_relay_log_pos;
if (typ == GTID_EVENT)
{