1
0
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:
unknown
2003-10-03 20:07:08 +02:00
parent 187ca48554
commit c78680b43f
4 changed files with 31 additions and 33 deletions

View File

@ -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: