mirror of
https://github.com/MariaDB/server.git
synced 2025-01-28 09:44:17 +01:00
BUG 18117322 - DEFINE INNODB_THREAD_SLEEP_DELAY MAX VALUE
The maximum value for innodb_thread_sleep_delay is 4294967295 (32-bit) or 18446744073709551615 (64-bit) microseconds. This is way too big, since the max value of innodb_thread_sleep_delay is limited by innodb_adaptive_max_sleep_delay if that value is set to non-zero value (its default is 150,000). Solution The maximum value of innodb_thread_sleep_delay should be the same as the maximum value of innodb_adaptive_max_sleep_delay, which is 1000000. Approved by Jimmy, rb#4429
This commit is contained in:
parent
e613d2ed00
commit
93609b57c6
3 changed files with 50 additions and 2 deletions
mysql-test/suite/sys_vars
storage/innobase/handler
|
@ -41,6 +41,8 @@ set global innodb_thread_sleep_delay=1e1;
|
|||
ERROR 42000: Incorrect argument type to variable 'innodb_thread_sleep_delay'
|
||||
set global innodb_thread_sleep_delay="foo";
|
||||
ERROR 42000: Incorrect argument type to variable 'innodb_thread_sleep_delay'
|
||||
set global innodb_thread_sleep_delay=18446744073709551616;
|
||||
ERROR 42000: Incorrect argument type to variable 'innodb_thread_sleep_delay'
|
||||
set global innodb_thread_sleep_delay=-7;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect innodb_thread_sleep_delay value: '-7'
|
||||
|
@ -50,6 +52,34 @@ select @@global.innodb_thread_sleep_delay;
|
|||
select * from information_schema.global_variables where variable_name='innodb_thread_sleep_delay';
|
||||
VARIABLE_NAME VARIABLE_VALUE
|
||||
INNODB_THREAD_SLEEP_DELAY 0
|
||||
set global innodb_thread_sleep_delay=0;
|
||||
select @@global.innodb_thread_sleep_delay;
|
||||
@@global.innodb_thread_sleep_delay
|
||||
0
|
||||
set global innodb_thread_sleep_delay=1000;
|
||||
select @@global.innodb_thread_sleep_delay;
|
||||
@@global.innodb_thread_sleep_delay
|
||||
1000
|
||||
set global innodb_thread_sleep_delay=1000000;
|
||||
select @@global.innodb_thread_sleep_delay;
|
||||
@@global.innodb_thread_sleep_delay
|
||||
1000000
|
||||
set global innodb_thread_sleep_delay=1000001;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect innodb_thread_sleep_delay value: '1000001'
|
||||
select @@global.innodb_thread_sleep_delay;
|
||||
@@global.innodb_thread_sleep_delay
|
||||
1000000
|
||||
set global innodb_thread_sleep_delay=4294967295;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect innodb_thread_sleep_delay value: '4294967295'
|
||||
select @@global.innodb_thread_sleep_delay;
|
||||
@@global.innodb_thread_sleep_delay
|
||||
1000000
|
||||
set global innodb_thread_sleep_delay=555;
|
||||
select @@global.innodb_thread_sleep_delay;
|
||||
@@global.innodb_thread_sleep_delay
|
||||
555
|
||||
SET @@global.innodb_thread_sleep_delay = @start_global_value;
|
||||
SELECT @@global.innodb_thread_sleep_delay;
|
||||
@@global.innodb_thread_sleep_delay
|
||||
|
|
|
@ -40,11 +40,29 @@ set global innodb_thread_sleep_delay=1.1;
|
|||
set global innodb_thread_sleep_delay=1e1;
|
||||
--error ER_WRONG_TYPE_FOR_VAR
|
||||
set global innodb_thread_sleep_delay="foo";
|
||||
--error ER_WRONG_TYPE_FOR_VAR
|
||||
set global innodb_thread_sleep_delay=18446744073709551616;
|
||||
|
||||
set global innodb_thread_sleep_delay=-7;
|
||||
select @@global.innodb_thread_sleep_delay;
|
||||
select * from information_schema.global_variables where variable_name='innodb_thread_sleep_delay';
|
||||
|
||||
#
|
||||
# correct/overflowed values
|
||||
#
|
||||
set global innodb_thread_sleep_delay=0;
|
||||
select @@global.innodb_thread_sleep_delay;
|
||||
set global innodb_thread_sleep_delay=1000;
|
||||
select @@global.innodb_thread_sleep_delay;
|
||||
set global innodb_thread_sleep_delay=1000000;
|
||||
select @@global.innodb_thread_sleep_delay;
|
||||
set global innodb_thread_sleep_delay=1000001;
|
||||
select @@global.innodb_thread_sleep_delay;
|
||||
set global innodb_thread_sleep_delay=4294967295;
|
||||
select @@global.innodb_thread_sleep_delay;
|
||||
set global innodb_thread_sleep_delay=555;
|
||||
select @@global.innodb_thread_sleep_delay;
|
||||
|
||||
#
|
||||
# cleanup
|
||||
#
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*****************************************************************************
|
||||
|
||||
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All Rights Reserved.
|
||||
Copyright (c) 2000, 2014, Oracle and/or its affiliates. All Rights Reserved.
|
||||
Copyright (c) 2008, 2009 Google Inc.
|
||||
Copyright (c) 2009, Percona Inc.
|
||||
|
||||
|
@ -11694,7 +11694,7 @@ static MYSQL_SYSVAR_ULONG(thread_concurrency, srv_thread_concurrency,
|
|||
static MYSQL_SYSVAR_ULONG(thread_sleep_delay, srv_thread_sleep_delay,
|
||||
PLUGIN_VAR_RQCMDARG,
|
||||
"Time of innodb thread sleeping before joining InnoDB queue (usec). Value 0 disable a sleep",
|
||||
NULL, NULL, 10000L, 0L, ~0UL, 0);
|
||||
NULL, NULL, 10000L, 0L, 1000000L, 0);
|
||||
|
||||
static MYSQL_SYSVAR_STR(data_file_path, innobase_data_file_path,
|
||||
PLUGIN_VAR_RQCMDARG | PLUGIN_VAR_READONLY,
|
||||
|
|
Loading…
Add table
Reference in a new issue