diff options
author | Sachin <sachin.setiya@mariadb.com> | 2020-05-22 22:44:37 +0530 |
---|---|---|
committer | Sachin <sachin.setiya@mariadb.com> | 2020-06-17 02:22:46 +0530 |
commit | 592a10d0799807b19ee68ff6c391ee52d564b822 (patch) | |
tree | ac7a688f928a83c471714dd8798a5057d0d544b8 /mysql-test/main/mdev_22370.test | |
parent | 0128e13e6218fab10e247bc213e652a0faedd75a (diff) | |
download | mariadb-git-592a10d0799807b19ee68ff6c391ee52d564b822.tar.gz |
MDEV-22370 safe_mutex: Trying to lock uninitialized mutex at /data/src/10.4-bug/sql/rpl_parallel.cc, line 470 upon shutdown during FTWRL
Problem:- When we issue FTWRL with shutdown in parallel, there is race between
FTWRL and shutdown. Shutdown might destroy the mutex (pool->LOCK_rpl_thread_pool)
before FTWRL can lock it. So we can get crash on FTWRL thread
Solution:- mysql_mutex_destroy(pool->LOCK_rpl_thread_pool) should wait for
FTWRL thread to complete its work , and then destroy.
So slave_prepare_for_shutdown will just deactivate the pool, and mutex is destroyed
later in end_slave()
Diffstat (limited to 'mysql-test/main/mdev_22370.test')
-rw-r--r-- | mysql-test/main/mdev_22370.test | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/mysql-test/main/mdev_22370.test b/mysql-test/main/mdev_22370.test new file mode 100644 index 00000000000..86bc527ebc0 --- /dev/null +++ b/mysql-test/main/mdev_22370.test @@ -0,0 +1,17 @@ +# +# MDEV-22370 safe_mutex: Trying to lock uninitialized mutex at +# /data/src/10.4-bug/sql/rpl_parallel.cc, line 470 upon shutdown during FTWRL +# +# Purpose of this test case to test crash while FTWRL and shutdown is in race +# condition +# Shutdown can execute first and destroy the mutex making mutex_lock in pool_mark_busy +# to crash + +--source include/have_debug.inc +--connect (con1,localhost,root,,) +SET DEBUG_DBUG='+d,mark_busy_mdev_22370'; +--send + FLUSH TABLES WITH READ LOCK; + +--connection default +--source include/restart_mysqld.inc |