He Zhenxing wrote:
> Mats Kindahl wrote:
[snip]
>>> @@ -4125,8 +4124,6 @@ int Rotate_log_event::do_update_pos(Rela
>>> DBUG_PRINT("info", ("new_log_ident: %s", this->new_log_ident));
>>> DBUG_PRINT("info", ("pos: %s", llstr(this->pos, buf)));
>>>
>>> - pthread_mutex_lock(&rli->data_lock);
>>> - rli->event_relay_log_pos= my_b_tell(rli->cur_log);
>> So, rotate events does not update even the event_relay_log_pos. It seems it was
>> only used to update the group_relay_log_pos below since normally
>> event_relay_log_pos is updated from the future_event_relay_log_pos.
>>
>
> It does update event_relay_log_pos, by calling either
> rli->inc_event_relay_log_pos() or rli->inc_group_relay_log_pos() in the
> code below.
Sorry, that was a confusing paragraph I wrote.
I noted that event_relay_log_event seemed to be used only as temporary storage
and did the job of inc_*_relay_log_pos() "manually." It initially confused me
that this code could be removed. It got clear later, but I forgot to refine the
paragraph.
Late night, sorry for the confusion.
Just my few cents,
Mats Kindahl