mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 19:06: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;
 | |
| 
 | 
