From: Date: October 21 2007 4:32pm Subject: bk commit into 5.0 tree (aelkin:1.2543) BUG#28597 List-Archive: http://lists.mysql.com/commits/35992 X-Bug: 28597 Message-Id: <200710211432.l9LEWiUo026195@dsl-hkibras1-ff5fc300-23.dhcp.inet.fi> Below is the list of changes that have just been committed into a local 5.0 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-10-21 17:32:39+03:00, aelkin@stripped +1 -0 Bug #28597 Replication doesn't start after upgrading to 5.1.18 Since bug@20166 that replaced the binlog file name generating to base on pidfile_name instead of the previous glob_hostname the binlog file name generating and its storing into the binlog index suddenly started to be solely in the absolute path format, including a case when --log-bin option meant a relative path. The current algorithm for master is that when master reads the index it constucts the ultimate path for accessing the file basing on --log-bin option value. So if the option means a relative path, any value that is read from the binlog index is treated as if it is in a relative path format. So the combination of the existing algorithm which does not concern with a format of name it reads from the binlog index file and the earlier bug change led to the current bug. Fixed with reverting back to use glob_hostname which means that the names are going to be written in a relative path format, as before, if --log-bin means a relative path. sql/log.cc@stripped, 2007-10-21 17:32:37+03:00, aelkin@stripped +1 -1 reverting back to glob_hostname for binlog name generating diff -Nrup a/sql/log.cc b/sql/log.cc --- a/sql/log.cc 2007-07-30 18:27:30 +03:00 +++ b/sql/log.cc 2007-10-21 17:32:37 +03:00 @@ -452,7 +452,7 @@ const char *MYSQL_LOG::generate_name(con TODO: The following should be using fn_format(); We just need to first change fn_format() to cut the file name if it's too long. */ - strmake(buff, pidfile_name,FN_REFLEN-5); + strmake(buff, glob_hostname,FN_REFLEN-5); strmov(fn_ext(buff),suffix); return (const char *)buff; }