Comment 8 for bug 1233301

Revision history for this message
Raghavendra D Prabhu (raghavendra-prabhu) wrote :

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.