Hi Jasonh,
Nice work. Patch approved.
He Zhenxing wrote:
> Alfranio Correia wrote:
>
>> Hi Jasonh,
>>
>> I forgot to put Libing in CC and to ask you the following question.
>> Why don't you change the error message
>> "Set 'rpl_semi_sync_master_reply_log_file_pos' on master failed"?
>>
>>
>
> The reason is that I forget :) I'll change that, thank you!
>
>
>> Although it is not being used, it is still misleading and in the future
>> it may be used by some stricter form of sync replication.
>>
>> Cheers.
>>
>> Alfranio Correia wrote:
>>
>>> Hi Jasonh,
>>>
>>> Nice work. Patch approved.
>>>
>>> Cheers.
>>>
>>> He Zhenxing wrote:
>>>
>>>
>>>> #At file:///media/sdb2/hezx/work/mysql/bzrwork/b45852/azalea-bugfixing/
> based on revid:alik@stripped
>>>>
>>>> 2802 He Zhenxing 2009-09-05
>>>> Bug#45852 Semisynch: Last_IO_Error: Fatal error: Failed to run
> 'after_queue_event' hook
>>>>
>>>> Errors when send reply to master should never cause the IO thread
>>>> to stop, because master can fall back to async replication if it
>>>> does not get reply from slave.
>>>>
>>>> The problem is fixed by deliberately ignore the return value of
>>>> slaveReply.
>>>>
>>>>
>>>>
>>> s/fixed by deliberately ignore/fixed by deliberately ignoring/
>>>
>>>
>>>> @ plugin/semisync/semisync_slave_plugin.cc
>>>> Deliberately ignore the return value of slaveReply so that
> errors
>>>> while sending slave reply will not cause the IO thread to stop.
>>>>
>>>> M plugin/semisync/semisync_slave_plugin.cc
>>>> === modified file 'plugin/semisync/semisync_slave_plugin.cc'
>>>> --- a/plugin/semisync/semisync_slave_plugin.cc 2009-07-07 02:44:17 +0000
>>>> +++ b/plugin/semisync/semisync_slave_plugin.cc 2009-09-05 08:22:36 +0000
>>>> @@ -106,8 +106,15 @@ int repl_semi_slave_queue_event(Binlog_r
>>>> uint32 flags)
>>>> {
>>>> if (rpl_semi_sync_slave_status && semi_sync_need_reply)
>>>> - return repl_semisync.slaveReply(param->master_log_name,
>>>> + {
>>>> + /*
>>>> + We deliberately ignore the error in slaveReply, such error
>>>> + should not cause the slave IO thread to stop, and the error
>>>> + messages are already reported.
>>>> + */
>>>> + (void) repl_semisync.slaveReply(param->master_log_name,
>>>> param->master_log_pos);
>>>> + }
>>>> return 0;
>>>> }
>>>>
>>>>
>>>>
>>>> ------------------------------------------------------------------------
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>
>
>
>