Status: Closed (View Workflow)
The bug appears as a slave SQL thread hanging in
rpl_parallel_thread_pool::get_thread() while there are no slave worker
threads to awake it.
The reason of the hang is that at the parallel slave worker pool
activation the being stared SQL thread could read the worker pool size
concurrently with pool deactivation. At reading the SQL thread did not
employ necessary protection from a race.
One way to fix it is to make the SQL thread at the pool activation first
to grab the same lock as potential deactivator also does prior
to access the pool size.
- relates to
MDEV-9573 'Stop slave' hangs on replication slave