############################################################################### --echo Bug#17283409 4-WAY DEADLOCK: ZOMBIES, PURGING BINLOGS, SHOW PROCESSLIST, --echo SHOW BINLOGS # After the fix for bug 17283409, We allow new connections while processing # 'SHOW PROCESSLIST' command. This test script is to prove that even though we # allow new connections to come in, 'SHOW PROCESSLIST' will not consider them, # hence there is no worry of 'SHOW PROCESSLIST' going into a infinite loop if # new connections are coming in continously. ############################################################################### --source include/have_debug_sync.inc --source include/count_sessions.inc --enable_connect_log connect(connection1,localhost,root,,test,$MASTER_MYPORT,); --connection default SET DEBUG_SYNC='before_one_element_read_from_threads_iterator SIGNAL parked1 WAIT_FOR go'; --send SHOW PROCESSLIST --connection connection1 echo "Wait_for parked1"; SET DEBUG_SYNC='now WAIT_FOR parked1'; connect(connection2,localhost,root,,test,$MASTER_MYPORT,); connect(connection3,localhost,root,,test,$MASTER_MYPORT,); SET DEBUG_SYNC='now SIGNAL go'; --connection default # We are yet to read the first element from the iterator when connection 2 and # connection 3 joined the system. So this will show all 4 connections # ( default + connection 1,2,3). --replace_column 1 3 5 6