diff options
author | unknown <knielsen@knielsen-hq.org> | 2014-03-21 10:11:28 +0100 |
---|---|---|
committer | unknown <knielsen@knielsen-hq.org> | 2014-03-21 10:11:28 +0100 |
commit | a5418c5540f06e2ec4016734e9f1cc5c50c01de0 (patch) | |
tree | 4e21b26065c2691e19322d4671ff7986e716672f /sql/rpl_rli.h | |
parent | e59dec0345bba78ba83928060c20c5861cf205f1 (diff) | |
download | mariadb-git-a5418c5540f06e2ec4016734e9f1cc5c50c01de0.tar.gz |
MDEV-5921: In parallel replication, an error is not correctly signalled to the next transaction
When a transaction fails in parallel replication, it should signal the error
to any following transactions doing wait_for_prior_commit() on it. But the
code for this was incorrect, and would not correctly remember a prior error
when sending the signal. This caused corruption when slave stopped due to an
error.
Fix by remembering the error code when we first get an error, and passing the
saved error code to wakeup_subsequent_commits().
Thanks to nanyi607rao who reported this bug on
maria-developers@lists.launchpad.net and analysed the root cause.
Diffstat (limited to 'sql/rpl_rli.h')
-rw-r--r-- | sql/rpl_rli.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sql/rpl_rli.h b/sql/rpl_rli.h index 100ce25fe9c..48193afce4d 100644 --- a/sql/rpl_rli.h +++ b/sql/rpl_rli.h @@ -569,7 +569,7 @@ struct rpl_group_info */ char future_event_master_log_name[FN_REFLEN]; bool is_parallel_exec; - bool is_error; + int worker_error; /* Set true when we signalled that we reach the commit phase. Used to avoid counting one event group twice. |