|
1 | 1 | # |
2 | 2 | # This test checks that applier threads are immune to KILL QUERY and KILL STATEMENT |
3 | | -# when USER is not SUPER |
4 | 3 | # |
5 | 4 |
|
6 | 5 | --source include/galera_cluster.inc |
| 6 | +--source include/have_innodb.inc |
7 | 7 |
|
8 | 8 | --connection node_1 |
9 | 9 |
|
10 | | -CREATE USER foo@localhost; |
11 | | -GRANT SELECT on test.* TO foo@localhost; |
12 | | - |
13 | 10 | --let $applier_thread = `SELECT ID FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND STATE != 'wsrep aborter idle' OR STATE IS NULL LIMIT 1` |
14 | 11 |
|
15 | | ---let $aborter_thread = `SELECT ID FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND STATE = 'wsrep aborter idle' LIMIT 1` |
16 | | - |
17 | | ---echo # Open connection to the 1st node using 'test_user1' user. |
18 | | ---let $port_1= \$NODE_MYPORT_1 |
19 | | ---connect(foo_node_1,localhost,foo,,test,$port_1,) |
20 | | - |
21 | | ---connection foo_node_1 |
22 | | - |
23 | 12 | --disable_query_log |
24 | 13 | --error ER_KILL_DENIED_ERROR,ER_KILL_DENIED_ERROR |
25 | 14 | --eval KILL $applier_thread |
26 | 15 |
|
27 | 16 | --error ER_KILL_DENIED_ERROR,ER_KILL_DENIED_ERROR |
28 | 17 | --eval KILL QUERY $applier_thread |
29 | 18 |
|
30 | | ---error ER_KILL_DENIED_ERROR,ER_KILL_DENIED_ERROR |
31 | | ---eval KILL $aborter_thread |
32 | | - |
33 | | ---error ER_KILL_DENIED_ERROR,ER_KILL_DENIED_ERROR |
34 | | ---eval KILL QUERY $aborter_thread |
35 | | ---enable_query_log |
36 | | - |
37 | | -# |
38 | | -# SUPER can kill applier threads |
39 | | -# |
40 | | ---connection node_2 |
41 | | - |
42 | | ---let $applier_thread = `SELECT ID FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND STATE != 'wsrep aborter idle' OR STATE IS NULL LIMIT 1` |
43 | | - |
44 | | ---disable_query_log |
45 | | ---eval KILL $applier_thread |
46 | | ---enable_query_log |
47 | | - |
48 | 19 | --let $aborter_thread = `SELECT ID FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND STATE = 'wsrep aborter idle' LIMIT 1` |
49 | 20 |
|
50 | | ---disable_query_log |
| 21 | +--error ER_KILL_DENIED_ERROR,ER_KILL_DENIED_ERROR |
51 | 22 | --eval KILL $aborter_thread |
52 | | ---enable_query_log |
53 | | - |
54 | | ---source include/restart_mysqld.inc |
55 | 23 |
|
56 | | ---connection node_2 |
57 | | ---let $applier_thread = `SELECT ID FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND STATE != 'wsrep aborter idle' OR STATE IS NULL LIMIT 1` |
58 | | - |
59 | | ---disable_query_log |
60 | | ---eval KILL QUERY $applier_thread |
61 | | ---enable_query_log |
62 | | - |
63 | | ---let $aborter_thread = `SELECT ID FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND STATE = 'wsrep aborter idle' LIMIT 1` |
64 | | - |
65 | | ---disable_query_log |
| 24 | +--error ER_KILL_DENIED_ERROR,ER_KILL_DENIED_ERROR |
66 | 25 | --eval KILL QUERY $aborter_thread |
67 | 26 | --enable_query_log |
68 | | - |
69 | | ---source include/restart_mysqld.inc |
70 | | - |
71 | | ---connection node_1 |
72 | | ---disconnect foo_node_1 |
73 | | -DROP USER foo@localhost; |
74 | | - |
0 commit comments