mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 20:12:31 +01:00
94 lines
2.5 KiB
Text
94 lines
2.5 KiB
Text
# Start with thread_handling=pool-of-threads
|
|
# and run a number of tests
|
|
|
|
-- source include/have_pool_of_threads.inc
|
|
-- source include/default_optimizer_switch.inc
|
|
|
|
SET optimizer_switch='outer_join_with_cache=off';
|
|
# Slow test, don't run during staging part
|
|
-- source include/not_staging.inc
|
|
-- source include/long_test.inc
|
|
-- source include/common-tests.inc
|
|
SET optimizer_switch=default;
|
|
|
|
# Test that we cannot have more simultaneous connections than
|
|
# --thread-pool-size on the standard port, but _can_ have additional
|
|
# connections on the extra port.
|
|
|
|
# First set two connections running, and check that extra connection
|
|
# on normal port fails due to --thread-pool-max-threads=2.
|
|
# We can afford using a really long sleep, because we won't wait
|
|
# till it ends, we'll interrupt it as soon as we don't need it anymore
|
|
|
|
connection default;
|
|
--let $con1_id= `SELECT CONNECTION_ID()`
|
|
|
|
send SELECT sleep(50);
|
|
--sleep 1
|
|
|
|
connect(con2,localhost,root,,);
|
|
--let $con2_id= `SELECT CONNECTION_ID()`
|
|
|
|
send SELECT sleep(50);
|
|
--sleep 0.5
|
|
|
|
--disable_abort_on_error
|
|
--disable_result_log
|
|
--disable_query_log
|
|
connect(con3,localhost,root,,,,,connect_timeout=2);
|
|
--enable_query_log
|
|
--enable_result_log
|
|
--enable_abort_on_error
|
|
let $error = $mysql_errno;
|
|
if (!$error)
|
|
{
|
|
--echo # -- Error: managed to establish more than --thread_pool_max_threads connections
|
|
}
|
|
if ($error)
|
|
{
|
|
--echo # -- Success: more than --thread_pool_max_threads normal connections not possible
|
|
}
|
|
|
|
connect(extracon,127.0.0.1,root,,test,$MASTER_EXTRA_PORT,);
|
|
connection extracon;
|
|
SELECT 'Connection on extra port ok';
|
|
|
|
# Here, sleep just for slightly longer than 5 sec to trigger MDEV-4566
|
|
# (abort in interruptible wait connection check).
|
|
send SELECT sleep(5.5);
|
|
|
|
|
|
connect(extracon2,127.0.0.1,root,,test,$MASTER_EXTRA_PORT,);
|
|
connection extracon2;
|
|
SELECT 'Connection on extra port 2 ok';
|
|
|
|
--disable_abort_on_error
|
|
--disable_result_log
|
|
--disable_query_log
|
|
connect(extracon3,127.0.0.1,root,,test,$MASTER_EXTRA_PORT,,connect_timeout=2);
|
|
--enable_query_log
|
|
--enable_result_log
|
|
--enable_abort_on_error
|
|
let $error = $mysql_errno;
|
|
if (!$error)
|
|
{
|
|
--echo # -- Error: managed to establish more than --extra-max-connections + 1 connections
|
|
}
|
|
if ($error)
|
|
{
|
|
--echo # -- Success: more than --extra-max-connections + 1 normal connections not possible
|
|
}
|
|
|
|
connection extracon2;
|
|
--replace_result $con1_id <default_connection_ID>
|
|
eval KILL QUERY $con1_id;
|
|
--replace_result $con2_id <con2_connection_ID>
|
|
eval KILL QUERY $con2_id;
|
|
|
|
connection default;
|
|
--reap
|
|
connection con2;
|
|
--reap
|
|
|
|
connection extracon;
|
|
--reap
|