80 lines
2.1 KiB
Plaintext
80 lines
2.1 KiB
Plaintext
|
|
# 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
|