MDEV-9595: Shutdown takes forever with many replication channels
There was a race between end_slave() and cleanup code at the end of handle_slave_sql(). This could cause access to master_info_index and global_rpl_thread_pool after they had been freed. Fix by skipping that cleanup if server shutdown is in progress, as is done in other parts of the code as well (the cleanup, which stops worker threads that are not needed anymore, is redundant anyway when the server is shutting down).
This commit is contained in:
parent
c3071af5f0
commit
f8251911a4
@ -4848,6 +4848,7 @@ err_during_init:
|
||||
*/
|
||||
mysql_mutex_lock(&LOCK_active_mi);
|
||||
if (opt_slave_parallel_threads > 0 &&
|
||||
master_info_index &&// master_info_index is set to NULL on server shutdown
|
||||
!master_info_index->any_slave_sql_running())
|
||||
rpl_parallel_inactivate_pool(&global_rpl_thread_pool);
|
||||
mysql_mutex_unlock(&LOCK_active_mi);
|
||||
|
Loading…
x
Reference in New Issue
Block a user