mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-04 12:56:14 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			107 lines
		
	
	
	
		
			2.8 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			107 lines
		
	
	
	
		
			2.8 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
# Tests will be skipped for the view protocol because the view protocol creates 
 | 
						|
# an additional util connection
 | 
						|
-- source include/no_view_protocol.inc
 | 
						|
 | 
						|
# 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
 | 
						|
 | 
						|
# Slow test, don't run during staging part
 | 
						|
-- source include/not_staging.inc
 | 
						|
-- source include/long_test.inc
 | 
						|
 | 
						|
SET optimizer_switch='outer_join_with_cache=off';
 | 
						|
-- 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;
 | 
						|
--error ER_QUERY_INTERRUPTED
 | 
						|
--reap
 | 
						|
connection con2;
 | 
						|
--error ER_QUERY_INTERRUPTED
 | 
						|
--reap
 | 
						|
 | 
						|
connection extracon;
 | 
						|
--reap
 | 
						|
 | 
						|
# Check if compression works OK
 | 
						|
connect (comp_con,localhost,root,,,,,COMPRESS);
 | 
						|
SELECT 1;
 | 
						|
disconnect comp_con;
 | 
						|
 |