Fixed #7 with
------------------------------------------------------------ revno: 464 committer: Raghavendra D Prabhu <email address hidden> branch nick: pxc56 timestamp: Tue 2013-10-01 01:37:57 +0530 message: Bug#1233301: Extending the mutex fixes
Additionally,
a) Added lock_mutex_{exit,enter} around lock_table_other_has_incompatible.
b) Added trx_mutex_exit(trx) in wsrep_kill_victim. diff: === modified file 'Percona-Server/storage/innobase/lock/lock0lock.cc' --- Percona-Server/storage/innobase/lock/lock0lock.cc 2013-09-30 18:42:28 +0000 +++ Percona-Server/storage/innobase/lock/lock0lock.cc 2013-09-30 20:07:57 +0000 @@ -1626,6 +1626,8 @@ lock_table_print(stderr, lock); } } + if (trx_mutex_own(lock->trx)) + trx_mutex_exit(lock->trx); wsrep_innobase_kill_one_trx( (const trx_t*) trx, lock->trx, TRUE); } @@ -4654,7 +4656,9 @@ #ifdef WITH_WSREP if (wsrep_debug) fprintf(stderr, "WSREP: table lock abort"); + lock_mutex_exit(); wsrep_kill_victim((trx_t *)trx, (lock_t *)lock); + lock_mutex_enter(); #endif return(lock); }
======================================================================================
Need to test this on jenkins.
Fixed #7 with
------- ------- ------- ------- ------- ------- ------- ------- ----
revno: 464
committer: Raghavendra D Prabhu <email address hidden>
branch nick: pxc56
timestamp: Tue 2013-10-01 01:37:57 +0530
message:
Bug#1233301: Extending the mutex fixes
Additionally,
a) Added lock_mutex_ {exit,enter} around lock_table_ other_has_ incompatible.
b) Added trx_mutex_exit(trx) in wsrep_kill_victim. Server/ storage/ innobase/ lock/lock0lock. cc' Server/ storage/ innobase/ lock/lock0lock. cc 2013-09-30 18:42:28 +0000 Server/ storage/ innobase/ lock/lock0lock. cc 2013-09-30 20:07:57 +0000 table_print( stderr, lock); own(lock- >trx)) exit(lock- >trx); innobase_ kill_one_ trx( stderr, "WSREP: table lock abort"); kill_victim( (trx_t *)trx, (lock_t *)lock);
diff:
=== modified file 'Percona-
--- Percona-
+++ Percona-
@@ -1626,6 +1626,8 @@
lock_
}
}
+ if (trx_mutex_
+ trx_mutex_
wsrep_
(const trx_t*) trx, lock->trx, TRUE);
}
@@ -4654,7 +4656,9 @@
#ifdef WITH_WSREP
if (wsrep_debug)
fprintf(
+ lock_mutex_exit();
wsrep_
+ lock_mutex_enter();
#endif
return(lock);
}
======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ==
Need to test this on jenkins.