summaryrefslogtreecommitdiff
path: root/sql/slave.cc
diff options
context:
space:
mode:
authorunknown <knielsen@knielsen-hq.org>2014-05-15 15:52:08 +0200
committerKristian Nielsen <knielsen@knielsen-hq.org>2014-05-15 15:52:08 +0200
commit787c470cef54574e744eb5dfd9153d837fe67e45 (patch)
tree1168c4a1f2bd4371f56e7b231da7f0f18dcdb1f9 /sql/slave.cc
parentd60915692cd02cc70b7eb8245c9ac6eab5df3d0c (diff)
downloadmariadb-git-787c470cef54574e744eb5dfd9153d837fe67e45.tar.gz
MDEV-5262: Missing retry after temp error in parallel replication
Handle retry of event groups that span multiple relay log files. - If retry reaches the end of one relay log file, move on to the next. - Handle refcounting of relay log files, and avoid purging relay log files until all event groups have completed that might have needed them for transaction retry.
Diffstat (limited to 'sql/slave.cc')
-rw-r--r--sql/slave.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/sql/slave.cc b/sql/slave.cc
index ab505a4011f..59375297448 100644
--- a/sql/slave.cc
+++ b/sql/slave.cc
@@ -6397,6 +6397,7 @@ static Log_event* next_event(rpl_group_info *rgi, ulonglong *event_size)
DBUG_ASSERT(rli->cur_log_fd >= 0);
mysql_file_close(rli->cur_log_fd, MYF(MY_WME));
rli->cur_log_fd = -1;
+ rli->last_inuse_relaylog->completed= true;
if (relay_log_purge)
{