mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Fix for a rpl_relayrotate failure.
Changed Rotate_log_event::exec_event() to not increment positions when the event is seen in the middle of a transaction. mysql-test/r/rpl_relayrotate.result: remove timeout which was too short for Valgrind mysql-test/r/rpl_until.result: updated error message mysql-test/t/rpl_relayrotate.test: removed timeout which was too short for Valgrind sql/log_event.cc: Fix for a rpl_relayrotate failure. The problem was that Rotate_log_event::exec_event() believed that the relay log was corrupted. Fixed it by moving the test for corruption to Start_log_event::exec_event(). Changed Rotate_log_event::exec_event() to not increment positions when the event is seen in the middle of a transaction (that was an old bug found by chance :)
This commit is contained in:
@ -53,10 +53,7 @@ start slave;
|
||||
# We must wait for the transaction to commit before
|
||||
# reading, MASTER_POS_WAIT() will do it for sure
|
||||
# (the only statement with position>=3000 is COMMIT).
|
||||
# Older versions of MySQL would hang forever in MASTER_POS_WAIT
|
||||
# because COMMIT was said to be position 0 in the master's log (bug).
|
||||
# Detect this with timeout.
|
||||
select master_pos_wait('master-bin.001',3000,120)=-1;
|
||||
select master_pos_wait('master-bin.001',3000)>=0;
|
||||
select * from t1 where a=8000;
|
||||
|
||||
# The following DROP is a very important cleaning task:
|
||||
|
Reference in New Issue
Block a user