From 44a6fcba2f357b3f74bde8673046b310ecfd6645 Mon Sep 17 00:00:00 2001 From: "guilhem@mysql.com" <> Date: Wed, 7 Apr 2004 01:14:11 +0200 Subject: Fix for BUG#3401 "Rare replication bug which leads to "Binlog has bad magic number" from slave": Backport of a part of this changeset of 4.1: ChangeSet@1.1753.1.1, 2004-04-05 13:56:05+03:00, monty@mysql.com which fixes the bug. --- sql/slave.cc | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/sql/slave.cc b/sql/slave.cc index 9e82a521cb3..1ef572e3a0a 100644 --- a/sql/slave.cc +++ b/sql/slave.cc @@ -1609,7 +1609,18 @@ int init_master_info(MASTER_INFO* mi, const char* master_info_fname, DBUG_ENTER("init_master_info"); if (mi->inited) + { + /* + We have to reset read position of relay-log-bin as we may have + already been reading from 'hotlog' when the slave was stopped + last time. If this case pos_in_file would be set and we would + get a crash when trying to read the signature for the binary + relay log. + */ + my_b_seek(mi->rli.cur_log, (my_off_t) 0); DBUG_RETURN(0); + } + mi->mysql=0; mi->file_id=1; mi->ignore_stop_event=0; -- cgit v1.2.1