MDEV-7121: Parallel slave may hang if master crashes in the middle of writing transaction to binlog
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.
Showing
Please register or sign in to comment