Commit 45e33e05 authored by Jan Lindström's avatar Jan Lindström

MDEV-24872 : galera.galera_insert_multi MTR failed: crash with SIGABRT

Problem was that we tried to lock THD::LOCK_thd_data after we have
acquired lock_sys mutex. This is against mutex ordering rules.
parent 4d300ab1
......@@ -4733,11 +4733,13 @@ thd_need_ordering_with(const MYSQL_THD thd, const MYSQL_THD other_thd)
#ifdef WITH_WSREP
/* wsrep applier, replayer and TOI processing threads are ordered
by replication provider, relaxed GAP locking protocol can be used
between high priority wsrep threads
between high priority wsrep threads. Note that this function
is called while holding lock_sys mutex, therefore we can't
use THD::LOCK_thd_data mutex below to follow mutex ordering rules.
*/
if (WSREP_ON &&
wsrep_thd_is_BF(const_cast<THD *>(thd), false) &&
wsrep_thd_is_BF(const_cast<THD *>(other_thd), true))
wsrep_thd_is_BF(const_cast<THD *>(other_thd), false))
return 0;
#endif /* WITH_WSREP */
rgi= thd->rgi_slave;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment