Commit 1f50a034 authored by unknown's avatar unknown
Browse files

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:
  even if mi is already inited (replication already run once before),
  we need to seek back to the beginning of the relay log to be able
  to later check the binlog's magic number.
parent aacdf1ee
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -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;