%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
=== modified file 'Percona-Server/sql/sql_class.cc' --- Percona-Server/sql/sql_class.cc 2013-09-27 11:15:01 +0000 +++ Percona-Server/sql/sql_class.cc 2013-09-30 18:31:25 +0000 @@ -1017,6 +1017,7 @@ { if (signal) { + ut_ad(!lock_mutex_own()); mysql_mutex_lock(&thd->LOCK_thd_data); thd->awake(THD::KILL_QUERY); mysql_mutex_unlock(&thd->LOCK_thd_data);
=== modified file 'Percona-Server/storage/innobase/lock/lock0lock.cc' --- Percona-Server/storage/innobase/lock/lock0lock.cc 2013-09-30 08:59:29 +0000 +++ Percona-Server/storage/innobase/lock/lock0lock.cc 2013-09-30 18:30:52 +0000 @@ -1662,7 +1662,9 @@
if (lock_rec_has_to_wait(trx, mode, lock, is_supremum)) { #ifdef WITH_WSREP + lock_mutex_exit(); wsrep_kill_victim(trx, lock); + lock_mutex_enter(); #endif return(lock); }
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
should correct this but thread safety of the above needs to be looked into.
%%%%%%% %%%%%%% %%%%%%% %%%%%%% %%%%%%% %%%%%%% %%%%%%
=== modified file 'Percona- Server/ sql/sql_ class.cc' Server/ sql/sql_ class.cc 2013-09-27 11:15:01 +0000 Server/ sql/sql_ class.cc 2013-09-30 18:31:25 +0000 lock_mutex_ own()); mutex_lock( &thd->LOCK_ thd_data) ; >awake( THD::KILL_ QUERY); mutex_unlock( &thd->LOCK_ thd_data) ;
--- Percona-
+++ Percona-
@@ -1017,6 +1017,7 @@
{
if (signal)
{
+ ut_ad(!
mysql_
thd-
mysql_
=== modified file 'Percona- Server/ storage/ innobase/ lock/lock0lock. cc' Server/ storage/ innobase/ lock/lock0lock. cc 2013-09-30 08:59:29 +0000 Server/ storage/ innobase/ lock/lock0lock. cc 2013-09-30 18:30:52 +0000
--- Percona-
+++ Percona-
@@ -1662,7 +1662,9 @@
if (lock_rec_ has_to_ wait(trx, mode, lock, is_supremum)) { kill_victim( trx, lock);
#ifdef WITH_WSREP
+ lock_mutex_exit();
wsrep_
+ lock_mutex_enter();
#endif
return(lock);
}
%%%%%%% %%%%%%% %%%%%%% %%%%%%% %%%%%%% %%%%%%% %%%%%%% %%%
should correct this but thread safety of the above needs to be looked into.