Skip to content

Commit

Permalink
Post-fix MDEV-11695 Define a reasonable upper limit for innodb_spin_w…
Browse files Browse the repository at this point in the history
…ait_delay

Adjust the tests.
  • Loading branch information
dr-m committed Jan 6, 2017
1 parent 4ce579d commit ac0b0ef
Show file tree
Hide file tree
Showing 3 changed files with 42 additions and 37 deletions.
46 changes: 30 additions & 16 deletions mysql-test/suite/sys_vars/r/innodb_spin_wait_delay_basic.result
Original file line number Diff line number Diff line change
Expand Up @@ -43,14 +43,40 @@ set global innodb_spin_wait_delay=0;
select @@global.innodb_spin_wait_delay;
@@global.innodb_spin_wait_delay
0
set global innodb_spin_wait_delay=5000;
select @@global.innodb_spin_wait_delay;
@@global.innodb_spin_wait_delay
5000
set global innodb_spin_wait_delay=65535;
Warnings:
Warning 1292 Truncated incorrect innodb_spin_wait_delay value: '65535'
select @@global.innodb_spin_wait_delay;
@@global.innodb_spin_wait_delay
65535
6000
set global innodb_spin_wait_delay=4294967295;
Warnings:
Warning 1292 Truncated incorrect innodb_spin_wait_delay value: '4294967295'
select @@global.innodb_spin_wait_delay;
@@global.innodb_spin_wait_delay
6000
set @@global.innodb_spin_wait_delay = 4294967296;
Warnings:
Warning 1292 Truncated incorrect innodb_spin_wait_delay value: '4294967296'
select @@global.innodb_spin_wait_delay;
@@global.innodb_spin_wait_delay
6000
set @@global.innodb_spin_wait_delay = 12345678901;
Warnings:
Warning 1292 Truncated incorrect innodb_spin_wait_delay value: '12345678901'
select @@global.innodb_spin_wait_delay;
@@global.innodb_spin_wait_delay
6000
set @@global.innodb_spin_wait_delay = 18446744073709551615;
Warnings:
Warning 1292 Truncated incorrect innodb_spin_wait_delay value: '18446744073709551615'
select @@global.innodb_spin_wait_delay;
@@global.innodb_spin_wait_delay
4294967295
6000
set global innodb_spin_wait_delay=1.1;
ERROR 42000: Incorrect argument type to variable 'innodb_spin_wait_delay'
set global innodb_spin_wait_delay=1e1;
Expand All @@ -61,12 +87,12 @@ set global innodb_spin_wait_delay=' ';
ERROR 42000: Incorrect argument type to variable 'innodb_spin_wait_delay'
select @@global.innodb_spin_wait_delay;
@@global.innodb_spin_wait_delay
4294967295
6000
set global innodb_spin_wait_delay=" ";
ERROR 42000: Incorrect argument type to variable 'innodb_spin_wait_delay'
select @@global.innodb_spin_wait_delay;
@@global.innodb_spin_wait_delay
4294967295
6000
set global innodb_spin_wait_delay=-7;
Warnings:
Warning 1292 Truncated incorrect innodb_spin_wait_delay value: '-7'
Expand All @@ -82,18 +108,6 @@ select @@global.innodb_spin_wait_delay;
select * from information_schema.global_variables where variable_name='innodb_spin_wait_delay';
VARIABLE_NAME VARIABLE_VALUE
INNODB_SPIN_WAIT_DELAY 0
SET @@global.innodb_spin_wait_delay = 4294967296;
SELECT @@global.innodb_spin_wait_delay IN (4294967296,4294967295);
@@global.innodb_spin_wait_delay IN (4294967296,4294967295)
1
SET @@global.innodb_spin_wait_delay = 12345678901;
SELECT @@global.innodb_spin_wait_delay IN (12345678901,4294967295);
@@global.innodb_spin_wait_delay IN (12345678901,4294967295)
1
SET @@global.innodb_spin_wait_delay = 18446744073709551615;
SELECT @@global.innodb_spin_wait_delay IN (18446744073709551615,4294967295);
@@global.innodb_spin_wait_delay IN (18446744073709551615,4294967295)
1
SET @@global.innodb_spin_wait_delay = @start_global_value;
SELECT @@global.innodb_spin_wait_delay;
@@global.innodb_spin_wait_delay
Expand Down
2 changes: 1 addition & 1 deletion mysql-test/suite/sys_vars/r/sysvars_innodb.result
Original file line number Diff line number Diff line change
Expand Up @@ -2199,7 +2199,7 @@ VARIABLE_SCOPE GLOBAL
VARIABLE_TYPE BIGINT UNSIGNED
VARIABLE_COMMENT Maximum delay between polling for a spin lock (6 by default)
NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 18446744073709551615
NUMERIC_MAX_VALUE 6000
NUMERIC_BLOCK_SIZE 0
ENUM_VALUE_LIST NULL
READ_ONLY NO
Expand Down
31 changes: 11 additions & 20 deletions mysql-test/suite/sys_vars/t/innodb_spin_wait_delay_basic.test
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,21 @@ select @@global.innodb_spin_wait_delay;
#
set global innodb_spin_wait_delay=0;
select @@global.innodb_spin_wait_delay;
set global innodb_spin_wait_delay=5000;
select @@global.innodb_spin_wait_delay;
#
# invalid values
#
set global innodb_spin_wait_delay=65535;
select @@global.innodb_spin_wait_delay;
set global innodb_spin_wait_delay=4294967295;
select @@global.innodb_spin_wait_delay;
set @@global.innodb_spin_wait_delay = 4294967296;
select @@global.innodb_spin_wait_delay;
set @@global.innodb_spin_wait_delay = 12345678901;
select @@global.innodb_spin_wait_delay;
set @@global.innodb_spin_wait_delay = 18446744073709551615;
select @@global.innodb_spin_wait_delay;

#
# incorrect types
Expand All @@ -74,26 +85,6 @@ select @@global.innodb_spin_wait_delay;
select * from information_schema.global_variables where variable_name='innodb_spin_wait_delay';
--enable_warnings

#
# Check for out of bounds
#

# With a 64 bit mysqld:18446744073709551615,with a 32 bit mysqld: 4294967295
--disable_warnings
SET @@global.innodb_spin_wait_delay = 4294967296;
--enable_warnings
SELECT @@global.innodb_spin_wait_delay IN (4294967296,4294967295);

--disable_warnings
SET @@global.innodb_spin_wait_delay = 12345678901;
--enable_warnings
SELECT @@global.innodb_spin_wait_delay IN (12345678901,4294967295);

--disable_warnings
SET @@global.innodb_spin_wait_delay = 18446744073709551615;
--enable_warnings
SELECT @@global.innodb_spin_wait_delay IN (18446744073709551615,4294967295);

#
# cleanup
#
Expand Down

0 comments on commit ac0b0ef

Please sign in to comment.