MySQL Lists are EOL. Please join:

List:Commits« Previous MessageNext Message »
From:Alfranio Correia Date:February 16 2009 9:19am
Subject:Re: bzr commit into mysql-6.0-rpl branch (alfranio.correia:2810)
Bug#40337
View as plain text  
He Zhenxing wrote:

Thank you. I already added this comment in the code but I
will also add it to the commit message.

Cheers.

> Hi Alfranio,
>
> Patch approved, I only have some one comment regarding the commit
> message.
>
> Alfranio Correia wrote:
>   
>> #At
> file:///home/acorreia/workspace.sun/repository.mysql/bzrwork/bug-40337/mysql-6.0-rpl/
> based on revid:luis.soares@stripped
>>
>>  2810 Alfranio Correia	2009-02-13
>>       BUG#40337  Fsyncing master and relay log to disk after every event is too
> slow
>>             
>>       The fix proposed in BUG#35542 and BUG#31665 introduces a performance issue
>>       when fsyncing the master.info, relay.info and relay-log.bin* after #th
> events.
>>       Although such solution has been proposed to reduce the probability of
> corrupted
>>       files due to a slave-crash, the performance penalty introduced by it has
>>       made the approach impractical for highly intensive workloads.
>>             
>>       In a nutshell, the option --syn-relay-log proposed in BUG#35542 and
> BUG#31665
>>       simultaneously fsyncs master.info, relay-log.info and relay-log.bin* and
>>       this is the main source of performance issues.
>>             
>>       This patch introduces new options that give more control to the user on
>>       what should be fsynced and how often:
>>         1) (--sync-master-info, integer) which syncs the master.info after #th
> event;
>>         2) (--sync-relay-log, integer) which syncs the relay-log.bin* after #th
>>       events.
>>         3) (--sync-relay-log-info, integer) which syncs the relay.info after #th
>>         transactions.
>>             
>>       To provide both performance and increased reliability, we recommend the
> following
>>       setup:
>>         1) --sync-master-info = 0 eventually the operating system will fsync it;
>>         2) --sync-relay-log = 0 eventually the operating system will fsync it;
>>         3) --sync-relay-log-info = 1 fsyncs it after every transaction;
>>             
>>         Notice, however, that the previous setup does not reduce the probability
> of
>>       corrupted master.info and relay-log.bin*. To overcome the issue, this patch
> also 
>>       introduces a recovery mechanism that right after restart throws away
> relay-log.bin* 
>>       retrieved from a master and updates the master.info based on the
> relay.info:
>>     
>
> I think it's better to state clear that the recovery mechanisam can only
> recover the incorrect binlog file and position in master.info, if other
> informations (host, port password, etc) are corrupted or incorrect, then
> this recovery mechanism will fail to work.
>
>   
>>         4) (--relay-log-recovery, boolean) which enables a recovery mechanism
> that
>>         throws away relay-log.bin* after a crash.
>>             
>>         So, it is advisable to setup: --syn-relay-log-info = 1.
>>     
>
> [snip]
>
>
>   

Thread
bzr commit into mysql-6.0-rpl branch (alfranio.correia:2810) Bug#40337Alfranio Correia13 Feb
  • Re: bzr commit into mysql-6.0-rpl branch (alfranio.correia:2810)Bug#40337He Zhenxing16 Feb
    • Re: bzr commit into mysql-6.0-rpl branch (alfranio.correia:2810)Bug#40337Alfranio Correia16 Feb
      • Re: bzr commit into mysql-6.0-rpl branch (alfranio.correia:2810)Bug#40337He Zhenxing16 Feb