1
0
mirror of https://github.com/MariaDB/server.git synced 2025-05-08 15:01:49 +03:00
mariadb/mysql-test/suite/sys_vars/t/thread_pool_oversubscribe_basic.test
Vladislav Vaintroub c216c9f0f0 Allow for faster creation of threads in corner cases where pool would be overloaded with long non-yielding queries.
To allow it, change minimum of thread_pool_stall_limit to be 10 milliseconds.

Also introduce a new parameter to oversubscribe a group . Number of threads running in  parallel would be higher than it normally should, leading to thrashing, but it may improving preemptiveness, which is useful for the described corner case.
2011-12-31 05:24:11 +01:00

44 lines
1.3 KiB
Plaintext

# uint global
--source include/not_windows.inc
--source include/not_embedded.inc
SET @start_global_value = @@global.thread_pool_oversubscribe;
#
# exists as global only
#
select @@global.thread_pool_oversubscribe;
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
select @@session.thread_pool_oversubscribe;
show global variables like 'thread_pool_oversubscribe';
show session variables like 'thread_pool_oversubscribe';
select * from information_schema.global_variables where variable_name='thread_pool_oversubscribe';
select * from information_schema.session_variables where variable_name='thread_pool_oversubscribe';
#
# show that it's writable
#
set global thread_pool_oversubscribe=60;
select @@global.thread_pool_oversubscribe;
set global thread_pool_oversubscribe=1000;
select @@global.thread_pool_oversubscribe;
--error ER_GLOBAL_VARIABLE
set session thread_pool_oversubscribe=1;
#
# incorrect types
#
--error ER_WRONG_TYPE_FOR_VAR
set global thread_pool_oversubscribe=1.1;
--error ER_WRONG_TYPE_FOR_VAR
set global thread_pool_oversubscribe=1e1;
--error ER_WRONG_TYPE_FOR_VAR
set global thread_pool_oversubscribe="foo";
set global thread_pool_oversubscribe=-1;
select @@global.thread_pool_oversubscribe;
set global thread_pool_oversubscribe=10000000000;
select @@global.thread_pool_oversubscribe;
set @@global.thread_pool_oversubscribe = @start_global_value;