forked from mysql/mysql-server
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconnect_debug.result
49 lines (39 loc) · 1.46 KB
/
connect_debug.result
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# -- Bug#20201006: Spamming show processlist prevents old connection
# -- threads from cleaning up.
SET @saved_max_connections = @@global.max_connections;
SET GLOBAL max_connections = 2;
# -- Check that we allow only max_connections + 1 connections here
connect con_1, localhost, root;
connect con_2, localhost, root;
connect(localhost,root,,test,MYSQL_PORT,MYSQL_SOCK);
connect con_3, localhost, root;
ERROR HY000: Too many connections
# -- Ensure we have max_connections + 1 connections.
SELECT count(*)= @@global.max_connections + 1 FROM information_schema.processlist;
count(*)= @@global.max_connections + 1
1
# -- Take LOCK_thd_remove and close one connection then
# attempt new one [should fail]...
SET DEBUG_SYNC='inside_do_for_all_thd_copy SIGNAL disconnect_connection WAIT_FOR continue';
SELECT user FROM INFORMATION_SCHEMA.PROCESSLIST GROUP BY user;;
connection default;
SET DEBUG_SYNC='now WAIT_FOR disconnect_connection';
disconnect con_1;
connect(localhost,root,,test,MYSQL_PORT,MYSQL_SOCK);
connect con_3, localhost, root;
ERROR HY000: Too many connections
# -- Release the lock. Now new connection should go through
SET DEBUG_SYNC='now SIGNAL continue';
connection con_2;
user
root
SET DEBUG_SYNC='RESET';
# -- Waiting for connection to close...
connect con_3, localhost, root;
# -- Closing connections...
disconnect con_3;
disconnect con_2;
connection default;
# -- Resetting variables...
SET GLOBAL max_connections= @saved_max_connections;
# -- End of Bug#20201006.