Based on the logs, it looks like a DDL MDL conflict may be causing this. 130902 22:13:29 [Note] WSREP: BF kill (1, seqno: 5216), victim: (25) trx: 7836 130902 22:13:29 [Note] WSREP: Aborting query: SET AUTOCOMMIT=ON 130902 22:13:29 [Note] WSREP: victim 7836 in state 7 130902 22:13:29 [Note] WSREP: MDL conflict db=test table=r ticket=4 solved by abort 130902 22:13:29 [Note] WSREP: MDL conflict request: (14 seqno 5216 wsrep (2, 1, 0) cmd 3 9 DROP TABLE IF EXISTS r) granted: (25 seqno 5220 wsrep (0, 1, 7) cmd 3 31 SET AUTOCOMMIT=ON) 130902 22:13:29 [Note] WSREP: MDL ticket: type: shared write space: TABLE db: test name: r (Waiting for table metadata lock) 130902 22:13:29 [Note] WSREP: DROP caused BF abort 130902 22:13:29 [Note] WSREP: MDL ticket: type: shared write space: TABLE db: test name: r (Waiting for table metadata lock) 130902 22:13:29 [Note] WSREP: wsrep_abort_thd, by: 140481475598080, victim: 140481472669440 130902 22:13:29 [Note] WSREP: abort transaction: BF: DROP TABLE IF EXISTS r victim: SET AUTOCOMMIT=ON 130902 22:13:29 [Note] WSREP: cluster conflict due to high priority abort for threads: 130902 22:13:29 [Note] WSREP: Winning thread: THD: 14, mode: total order, state: executing, conflict: no conflict, seqno: 5216 SQL: DROP TABLE IF EXISTS r 130902 22:13:29 [Note] WSREP: Victim thread: THD: 25, mode: local, state: executing, conflict: cert failure, seqno: 5220 SQL: SET AUTOCOMMIT=ON 130902 22:13:29 [Note] WSREP: BF kill (1, seqno: 5216), victim: (25) trx: 7836 130902 22:13:29 [Note] WSREP: Aborting query: SET AUTOCOMMIT=ON 130902 22:13:29 [Note] WSREP: victim 7836 in state 7 130902 22:13:29 [Note] WSREP: MDL victim killed at add_ticket 130902 22:13:29 [Note] WSREP: cert failure, thd: 25 is_AC: 0, retry: 0 - 1 SQL: SET AUTOCOMMIT=ON 130902 22:13:29 [Note] WSREP: TO BEGIN: 5210, 0 : ALTER TABLE n RENAME `table1_innodb_compressed_int_autoinc` 130902 22:13:29 [Note] WSREP: TO BEGIN: 5211, 0 : DROP TABLE `table1_innodb_default_key_pk_parts_2_int_autoinc` 130902 22:13:29 [Note] WSREP: TO BEGIN: 5213, 0 : CREATE TABLE n LIKE `table1_innodb_compressed_key_pk_parts_2_int` 130902 22:13:29 [Note] WSREP: TO BEGIN: 5158, 0 : DROP TABLE IF EXISTS t 130902 22:13:29 [Note] WSREP: empty rbr buffer, query: DROP TABLE IF EXISTS c 130902 22:13:29 [Note] WSREP: TO BEGIN: 5214, 0 : DROP TABLE IF EXISTS c InnoDB: DEBUG: update_statistics for test/table1000_innodb_default_char. InnoDB: DEBUG: update_statistics for test/table1000_innodb_default_char. 130902 22:13:29 [Note] WSREP: TO BEGIN: 5154, 0 : DROP TABLE IF EXISTS l 130902 22:14:20 [ERROR] /pxc/bin/mysqld: Lock wait timeout exceeded; try restarting transaction 130902 22:14:20 [ERROR] /pxc/bin/mysqld: Lock wait timeout exceeded; try restarting transaction 130902 22:14:20 [ERROR] /pxc/bin/mysqld: Sort aborted: Lock wait timeout exceeded; try restarting transaction 130902 22:14:20 [ERROR] /pxc/bin/mysqld: Sort aborted: Lock wait timeout exceeded; try restarting transaction 130902 22:14:20 [Note] WSREP: TO BEGIN: 5212, 0 : DROP TABLE IF EXISTS y 130902 22:14:20 [Note] WSREP: TO BEGIN: 5215, 0 : DROP TABLE IF EXISTS h I have seen above in many runs - DROP TABLE and 'SET AUTOCOMMIT' or START TRANSACTION conflicting, and the latter being aborted (from certification failure), However, from backtrace, it looks like DROP TABLE is still waiting for MDL locks. Thread 14 (Thread 0x7fc464735700 (LWP 36063)): #0 0x00007fc47e6913e8 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0 #1 0x0000000000660f53 in inline_mysql_cond_timedwait (src_line=1201, src_file=0xae9dd8 "/media/Tintin/Work/code/percona-xtradb-cluster/trunk/Percona-Server/sql/mdl.cc", abstime=0x7fc464732f40, mutex=0x3312b28, that=0x3312b58) at /media/Tintin/Work/code/percona-xtradb-cluster/trunk/Percona-Server/include/mysql/psi/mysql_thread.h:1009 #2 MDL_wait::timed_wait (this=this@entry=0x3312b28, thd=0x3312a20, abs_timeout=abs_timeout@entry=0x7fc464732f40, set_status_on_timeout=set_status_on_timeout@entry=false, wait_state_name=) at /media/Tintin/Work/code/percona-xtradb-cluster/trunk/Percona-Server/sql/mdl.cc:1201 #3 0x0000000000662a59 in MDL_context::acquire_lock (this=this@entry=0x3312b28, mdl_request=0x7fc42c005060, lock_wait_timeout=lock_wait_timeout@entry=31536000) at /media/Tintin/Work/code/percona-xtradb-cluster/trunk/Percona-Server/sql/mdl.cc:2206 #4 0x0000000000662f6e in MDL_context::acquire_locks (this=this@entry=0x3312b28, mdl_requests=mdl_requests@entry=0x7fc4647330a0, lock_wait_timeout=lock_wait_timeout@entry=31536000) at /media/Tintin/Work/code/percona-xtradb-cluster/trunk/Percona-Server/sql/mdl.cc:2316 #5 0x0000000000557d2c in lock_table_names (thd=thd@entry=0x3312a20, tables_start=tables_start@entry=0x7fc42c004cf0, tables_end=tables_end@entry=0x0, lock_wait_timeout=31536000, flags=flags@entry=128) at /media/Tintin/Work/code/percona-xtradb-cluster/trunk/Percona-Server/sql/sql_base.cc:4768 #6 0x0000000000608dff in mysql_rm_table (thd=thd@entry=0x3312a20, tables=tables@entry=0x7fc42c004cf0, if_exists=, drop_temporary=) at /media/Tintin/Work/code/percona-xtradb-cluster/trunk/Percona-Server/sql/sql_table.cc:1910 #7 0x00000000005a1d42 in mysql_execute_command (thd=thd@entry=0x3312a20) at /media/Tintin/Work/code/percona-xtradb-cluster/trunk/Percona-Server/sql/sql_parse.cc:3664 #8 0x00000000005a6de1 in mysql_parse (thd=thd@entry=0x3312a20, rawbuf=rawbuf@entry=0x7fc42c004c10 "DROP TABLE IF EXISTS r", length=length@entry=22, parser_state=parser_state@entry=0x7fc4647345e0) at /media/Tintin/Work/code/percona-xtradb-cluster/trunk/Percona-Server/sql/sql_parse.cc:6471 #9 0x00000000005a7a53 in wsrep_mysql_parse (thd=thd@entry=0x3312a20, rawbuf=0x7fc42c004c10 "DROP TABLE IF EXISTS r", length=22, parser_state=parser_state@entry=0x7fc4647345e0) at /media/Tintin/Work/code/percona-xtradb-cluster/trunk/Percona-Server/sql/sql_parse.cc:6278 #10 0x00000000005a8a29 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x3312a20, packet=packet@entry=0x32c34f1 "DROP TABLE IF EXISTS r ", packet_length=packet_length@entry=23) at /media/Tintin/Work/code/percona-xtradb-cluster/trunk/Percona-Server/sql/sql_parse.cc:1254 #11 0x00000000005aa934 in do_command (thd=0x3312a20) at /media/Tintin/Work/code/percona-xtradb-cluster/trunk/Percona-Server/sql/sql_parse.cc:885 #12 0x00000000006582da in do_handle_one_connection (thd_arg=thd_arg@entry=0x3312a20) at /media/Tintin/Work/code/percona-xtradb-cluster/trunk/Percona-Server/sql/sql_connect.cc:1512 #13 0x000000000065850e in handle_one_connection (arg=0x3312a20) at /media/Tintin/Work/code/percona-xtradb-cluster/trunk/Percona-Server/sql/sql_connect.cc:1420 #14 0x00007fc47e68d0a2 in start_thread () from /usr/lib/libpthread.so.0 #15 0x00007fc47cef0a2d in clone () from /usr/lib/libc.so.6 So, it looks like MDL locks may not be released after an abort. To verify that MDL locks are the issue, setting a lock_wait_timeout to a small value like 50s (instead of default 1 year), avoids the hang, however, it does crash it (in about 1 out of 5 runs), with transition error - lp:1123233