diff options
author | Andrei Elkin <aelkin@mysql.com> | 2009-11-12 17:10:19 +0200 |
---|---|---|
committer | Andrei Elkin <aelkin@mysql.com> | 2009-11-12 17:10:19 +0200 |
commit | f1abd015dcec3c1347e96e6197db8fd05c021537 (patch) | |
tree | ab45a9bfc2849e5605f4856f8059a8f829ff15a9 /sql/slave.h | |
parent | 903d21287c835fa76cd3eac7b00276b5195eda3a (diff) | |
download | mariadb-git-f1abd015dcec3c1347e96e6197db8fd05c021537.tar.gz |
Bug #47210 first execution of "start slave until" stops too early
Until-pos guarding did not distiguish the master originated events from ones that the slave
can introduce to the relay log e.g Rotate to the next relay log at slave restarting.
The local Rotate's coordinate are incomparable with the Until-master-pos.
That led to the unexpectable stop this bug describes.
Fixed with to avoid Until-master-pos comparison for a local slave's event.
Notice that if --replicate-same-server is true such event is treated as coming from
the master side.
mysql-test/r/rpl_until.result:
results changed.
mysql-test/t/rpl_until.test:
regression test for bug#47210 is added.
sql/slave.cc:
st_relay_log_info::is_until_satisfied() is augmented with avoidance of
Until-master-pos comparison for a local slave's event.
if --replicate-same-server is true such event is treated as coming from
the master side.
sql/slave.h:
signature of is_until_satisfied() changed to supply THD and Event to the routine.
Diffstat (limited to 'sql/slave.h')
-rw-r--r-- | sql/slave.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sql/slave.h b/sql/slave.h index 5ae596f1eb5..78627214eef 100644 --- a/sql/slave.h +++ b/sql/slave.h @@ -348,7 +348,7 @@ typedef struct st_relay_log_info void close_temporary_tables(); /* Check if UNTIL condition is satisfied. See slave.cc for more. */ - bool is_until_satisfied(my_off_t master_beg_pos); + bool is_until_satisfied(THD *thd, Log_event *ev); inline ulonglong until_pos() { return ((until_condition == UNTIL_MASTER_POS) ? group_master_log_pos : |