Alfranio Correia wrote:
> #At
> file:///home/acorreia/workspace.sun/repository.mysql/bzrwork/bug-40337/mysql-6.0-rpl/
> based on revid:alfranio.correia@stripped
>
> 2811 Alfranio Correia 2009-02-12
> BUG#40337 Fsyncing master and relay log to disk after every event is too slow
>
> Post-fix.
[ snip ]
> === added file 'mysql-test/suite/rpl/t/rpl_sync-slave.opt'
> --- a/mysql-test/suite/rpl/t/rpl_sync-slave.opt 1970-01-01 00:00:00 +0000
> +++ b/mysql-test/suite/rpl/t/rpl_sync-slave.opt 2009-02-12 08:03:54 +0000
> @@ -0,0 +1 @@
> +--sync-master-info=1 --sync-relay-log=1 --sync-binlog=1 --sync-relay-log-info=1
> --relay-log-recovery=1
>
Since only --sync-relay-log-info and --relay-log-recovery are required
for the recovery to work, I still think other options should be removed.
[ snip ]
>
> +########################################################################################
> +# Case 1: Corrupt a master.info
>
> +########################################################################################
Should be Case 2, Corrupt relay-bin.* is case 1.
[snip]
> + DBUG_EXECUTE_IF("crash_before_rotate_binlog", exit(1););
> +
Sorry, should be 'crash_before_rotate_relaylog' :P
> /* We don't lock rli->run_lock. This would lead to deadlocks. */
> pthread_mutex_lock(&mi->run_lock);
>
>
> === modified file 'sql/sql_binlog.cc'
> --- a/sql/sql_binlog.cc 2009-01-26 16:03:39 +0000
> +++ b/sql/sql_binlog.cc 2009-02-12 08:03:54 +0000
> @@ -58,7 +58,7 @@ void mysql_client_binlog_statement(THD*
> my_bool have_fd_event= TRUE;
> if (!thd->rli_fake)
> {
> - thd->rli_fake= new Relay_log_info;
> + thd->rli_fake= new Relay_log_info(false);
> #ifdef HAVE_purify
> thd->rli_fake->is_fake= TRUE;
> #endif
>
>