mirror of
https://github.com/MariaDB/server.git
synced 2025-02-04 21:02:17 +01:00
d9dd673fee
New error codes can only be added in the latest major version.
Adding ER_KILL_DENIED_HIGH_PRIORITY would shift by one all
error codes that were added in MariaDB Server 10.6 or later.
This amends commit 1001dae186
Suggested by: Sergei Golubchik
54 lines
2 KiB
Text
54 lines
2 KiB
Text
#
|
|
# This test checks that applier threads are immune to KILL QUERY and KILL STATEMENT
|
|
#
|
|
|
|
--source include/galera_cluster.inc
|
|
--source include/have_innodb.inc
|
|
--source include/force_restart.inc
|
|
|
|
--connection node_2
|
|
SELECT @@wsrep_slave_threads;
|
|
SET GLOBAL wsrep_slave_threads=2;
|
|
|
|
--let $wait_condition = SELECT COUNT(*) = 2 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND STATE = 'wsrep applier idle';
|
|
--let $wait_condition_on_error_output = SELECT COUNT(*), 2 as EXPECTED_VALUE FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND STATE = 'wsrep applier idle'; show processlist
|
|
--source include/wait_condition_with_debug.inc
|
|
|
|
--let $applier_thread = `SELECT ID FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND STATE = 'wsrep applier idle' LIMIT 1`
|
|
|
|
--replace_result $applier_thread ID
|
|
--error ER_KILL_DENIED_ERROR
|
|
--eval KILL $applier_thread
|
|
|
|
--replace_result $applier_thread ID
|
|
--error ER_KILL_DENIED_ERROR
|
|
--eval KILL QUERY $applier_thread
|
|
|
|
--let $aborter_thread = `SELECT ID FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND STATE = 'wsrep aborter idle' LIMIT 1`
|
|
|
|
--replace_result $aborter_thread ID
|
|
--error ER_KILL_DENIED_ERROR
|
|
--eval KILL $aborter_thread
|
|
|
|
--replace_result $aborter_thread ID
|
|
--error ER_KILL_DENIED_ERROR
|
|
--eval KILL QUERY $aborter_thread
|
|
|
|
SET GLOBAL wsrep_slave_threads=DEFAULT;
|
|
|
|
--connection node_1
|
|
create table t1(a int not null primary key) engine=innodb;
|
|
insert into t1 values (1);
|
|
insert into t1 values (2);
|
|
|
|
--connection node_2
|
|
--echo # Wait until one of the appliers has exited
|
|
--let $wait_condition = SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'wsrep_applier_thread_count';
|
|
--let $wait_condition_on_error_output = SELECT COUNT(*), 1 as EXPECTED_VALUE FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER = 'system user' AND STATE = 'wsrep applier idle'; show processlist
|
|
--source include/wait_condition_with_debug.inc
|
|
|
|
select count(*) from t1;
|
|
SELECT @@wsrep_slave_threads;
|
|
|
|
--connection node_1
|
|
drop table t1;
|