From: Andrei Elkin Date: April 9 2007 4:27pm Subject: bk commit into 5.1 tree (aelkin:1.2545) BUG#27583 List-Archive: http://lists.mysql.com/commits/24069 X-Bug: 27583 Message-Id: <200704091627.l39GR2nb008887@dsl-hkibras1-ff1dc300-249.dhcp.inet.fi> Below is the list of changes that have just been committed into a local 5.1 repository of elkin. When elkin does a push these changes will be propagated to the main repository and, within 24 hours after the push, to the public repository. For information on how to access the public repository see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html ChangeSet@stripped, 2007-04-09 19:26:51+03:00, aelkin@stripped +1 -0 Bug #27583 slave sql fails to read from iocache when slave got stopped at pos==4 showed up in set of tests rpl_start_stop_slave.test, rpl_row_create_table.test, rpl000017.test as failure of slave sql thread to read from iocache when slave got stopped having read only first 4 bytes from the master binlog. Appeared to be forgotten assignment to rpl->group_relay_log_name. If the group pos is changed at that particur place a similar change should happen to the group log name in step. After the fix slave might safely stop and relay log info will consists of correct pair (relay log_name, relay log_pos). The correct relay log info is the guarantee that slave will restart w/o the problem. sql/log_event.cc@stripped, 2007-04-09 19:26:44+03:00, aelkin@stripped +3 -0 modifing group_relay_log_name in step with _pos # This is a BitKeeper patch. What follows are the unified diffs for the # set of deltas contained in the patch. The rest of the patch, the part # that BitKeeper cares about, is below these diffs. # User: aelkin # Host: dsl-hkibras1-ff1dc300-249.dhcp.inet.fi # Root: /home/elkin/MySQL/TEAM/FIXES/5.1/bug27563-rl_group_name --- 1.275/sql/log_event.cc 2007-03-30 16:29:27 +03:00 +++ 1.276/sql/log_event.cc 2007-04-09 19:26:44 +03:00 @@ -3648,6 +3648,9 @@ int Rotate_log_event::do_update_pos(RELA memcpy(rli->group_master_log_name, new_log_ident, ident_len+1); rli->notify_group_master_log_name_update(); rli->group_master_log_pos= pos; + strmake(rli->group_relay_log_name, rli->event_relay_log_name, + sizeof(rli->group_relay_log_name) - 1); + rli->notify_group_relay_log_name_update(); rli->group_relay_log_pos= rli->event_relay_log_pos; DBUG_PRINT("info", ("new group_master_log_name: '%s' " "new group_master_log_pos: %lu",