• Kristian Nielsen's avatar
    Remove unnecessary global mutex in parallel replication. · 50f19ca8
    Kristian Nielsen authored
    The function apply_event_and_update_pos() is called with the
    rli->data_lock mutex held. However, there seems to be nothing in the
    function actually needing the mutex to be held. Certainly not in the
    parallel replication case, where sql_slave_skip_counter is always 0
    since the non-zero case is handled by the SQL driver thread.
    
    So this patch makes parallel replication use a variant of
    apply_event_and_update_pos() without the need to take the
    rli->data_lock mutex. This avoids one contended global mutex for each
    event executed, which might improve performance on CPU-bound workloads
    somewhat.
    Signed-off-by: default avatarKristian Nielsen <knielsen@knielsen-hq.org>
    50f19ca8
rpl_parallel.cc 85.8 KB