MDEV-22458: Server with WSREP hangs after INSERT, wrong usage of mutex 'LOCK_thd_data' and 'share->intern_lock' / 'lock->mutex'

Add `find_thread_by_id_with_thd_data_lock` which will be used only when killing thread.
This version needs to take `thd->LOCK_thd_data` lock.
This commit is contained in:
mkaruza 2020-06-02 09:18:59 +02:00 committed by Jan Lindström
commit 4b4372af6a
3 changed files with 57 additions and 2 deletions

View file

@ -0,0 +1,21 @@
# MDEV-22458
#
# When running SHOW command, thread lock `LOCK_thd_data` should not be taken.
# Lock will be taken only when we are killing thread
#
--source include/galera_cluster.inc
CREATE TABLE t1 (a INT);
--connect (con1,localhost,root,,test)
--let $con1 = `SELECT CONNECTION_ID()`
INSERT INTO t1 VALUES (1),(2),(3),(4);
--error ER_TARGET_NOT_EXPLAINABLE
EVALP SHOW EXPLAIN FOR $con1;
--connection con1
INSERT INTO t1 VALUES (5),(6),(7),(8);
DROP TABLE t1;