diff options
author | guilhem@mysql.com <> | 2004-04-07 01:14:11 +0200 |
---|---|---|
committer | guilhem@mysql.com <> | 2004-04-07 01:14:11 +0200 |
commit | 44a6fcba2f357b3f74bde8673046b310ecfd6645 (patch) | |
tree | 523f5ec0957debf067041771f817f8f48a98b8e8 | |
parent | da6685fba54440d20b74aa60318142e1e50c10db (diff) | |
download | mariadb-git-44a6fcba2f357b3f74bde8673046b310ecfd6645.tar.gz |
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.
-rw-r--r-- | sql/slave.cc | 11 |
1 files changed, 11 insertions, 0 deletions
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; |