# This test makes no sense with the embedded server --source include/not_embedded.inc --source include/have_debug_sync.inc # Save the initial number of concurrent sessions --source include/count_sessions.inc --echo --echo # -- Bug#20201006: Spamming show processlist prevents old connection --echo # -- threads from cleaning up. --enable_connect_log SET @saved_max_connections = @@global.max_connections; SET GLOBAL max_connections = 2; --echo --echo # -- Check that we allow only max_connections + 1 connections here --connect (con_1, localhost, root) --connect (con_2, localhost, root) --replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK --error ER_CON_COUNT_ERROR --connect (con_3, localhost, root) --echo --echo # -- Ensure we have max_connections + 1 connections. SELECT count(*)= @@global.max_connections + 1 FROM information_schema.processlist; --echo --echo # -- Take LOCK_thd_remove and close one connection then --echo # attempt new one [should fail]... SET DEBUG_SYNC='inside_do_for_all_thd_copy SIGNAL disconnect_connection WAIT_FOR continue'; --send SELECT user FROM INFORMATION_SCHEMA.PROCESSLIST GROUP BY user; --connection default SET DEBUG_SYNC='now WAIT_FOR disconnect_connection'; --disconnect con_1 --replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK --error ER_CON_COUNT_ERROR --connect (con_3, localhost, root) --echo --echo # -- Release the lock. Now new connection should go through SET DEBUG_SYNC='now SIGNAL continue'; --connection con_2 reap; SET DEBUG_SYNC='RESET'; --echo --echo # -- Waiting for connection to close... let $count_sessions= 2; --source include/wait_until_count_sessions.inc --connect (con_3, localhost, root) --echo --echo # -- Closing connections... --disconnect con_3 --disconnect con_2 --source include/wait_until_disconnected.inc --connection default --echo --echo # -- Resetting variables... SET GLOBAL max_connections= @saved_max_connections; --disable_connect_log --echo --echo # -- End of Bug#20201006. --echo # Wait till all disconnects are completed let $count_sessions= 1; --source include/wait_until_count_sessions.inc