• Kristian Nielsen's avatar
    MDEV-7121: Parallel slave may hang if master crashes in the middle of writing transaction to binlog · e9fc98b5
    Kristian Nielsen authored
    When a master server restarts, it writes a restart format_description event as
    the first event in the next binlog file. The parallel slave SQL thread queues
    a special restart entry for the current worker thread to signal this, so that
    the worker thread can roll back any prior partial transaction that might have
    been written to the binlog due to master crashing.
    
    This queueing was missing a mysql_cond_signal() to notify the worker
    thread. This could cause the worker thread to not process the restart entry,
    and this in turn would cause the SQL thread to hang infinitely waiting for the
    worker thread to complete processing.
    
    Fix by adding the missing wakeup signalling for this case.
    e9fc98b5
rpl_parallel.cc 63.8 KB