mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 15:50:51 +03:00 
			
		
		
		
	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.
		
			
				
	
	
		
			48 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| SET @start_global_value = @@global.thread_pool_oversubscribe;
 | |
| select @@global.thread_pool_oversubscribe;
 | |
| @@global.thread_pool_oversubscribe
 | |
| 3
 | |
| select @@session.thread_pool_oversubscribe;
 | |
| ERROR HY000: Variable 'thread_pool_oversubscribe' is a GLOBAL variable
 | |
| show global variables like 'thread_pool_oversubscribe';
 | |
| Variable_name	Value
 | |
| thread_pool_oversubscribe	3
 | |
| show session variables like 'thread_pool_oversubscribe';
 | |
| Variable_name	Value
 | |
| thread_pool_oversubscribe	3
 | |
| select * from information_schema.global_variables where variable_name='thread_pool_oversubscribe';
 | |
| VARIABLE_NAME	VARIABLE_VALUE
 | |
| THREAD_POOL_OVERSUBSCRIBE	3
 | |
| select * from information_schema.session_variables where variable_name='thread_pool_oversubscribe';
 | |
| VARIABLE_NAME	VARIABLE_VALUE
 | |
| THREAD_POOL_OVERSUBSCRIBE	3
 | |
| set global thread_pool_oversubscribe=60;
 | |
| select @@global.thread_pool_oversubscribe;
 | |
| @@global.thread_pool_oversubscribe
 | |
| 60
 | |
| set global thread_pool_oversubscribe=1000;
 | |
| select @@global.thread_pool_oversubscribe;
 | |
| @@global.thread_pool_oversubscribe
 | |
| 1000
 | |
| set session thread_pool_oversubscribe=1;
 | |
| ERROR HY000: Variable 'thread_pool_oversubscribe' is a GLOBAL variable and should be set with SET GLOBAL
 | |
| set global thread_pool_oversubscribe=1.1;
 | |
| ERROR 42000: Incorrect argument type to variable 'thread_pool_oversubscribe'
 | |
| set global thread_pool_oversubscribe=1e1;
 | |
| ERROR 42000: Incorrect argument type to variable 'thread_pool_oversubscribe'
 | |
| set global thread_pool_oversubscribe="foo";
 | |
| ERROR 42000: Incorrect argument type to variable 'thread_pool_oversubscribe'
 | |
| set global thread_pool_oversubscribe=-1;
 | |
| Warnings:
 | |
| Warning	1292	Truncated incorrect thread_pool_oversubscribe value: '-1'
 | |
| select @@global.thread_pool_oversubscribe;
 | |
| @@global.thread_pool_oversubscribe
 | |
| 1
 | |
| set global thread_pool_oversubscribe=10000000000;
 | |
| Warnings:
 | |
| Warning	1292	Truncated incorrect thread_pool_oversubscribe value: '10000000000'
 | |
| select @@global.thread_pool_oversubscribe;
 | |
| @@global.thread_pool_oversubscribe
 | |
| 1000
 | |
| set @@global.thread_pool_oversubscribe = @start_global_value;
 |