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;
}