Skip to content

Commit 1887b5a

Browse files
committed
MDEV-22501 Various issues when using --innodb-data-file-size-debug=-1
Let us limit the maximum value of the debug parameter innodb_data_file_size to 256 MiB. It is only being used in the test innodb.log_data_file_size, and the size of the system tablespace should never exceed some 70 MiB in ./mtr. Thus, 256 MiB should be a reasonable limit. The fact that negative values that are passed to unsigned parameters wrap around to the maximum value appears to be a regression due to commit 18ef02b and has been filed as bug MDEV-22219.
1 parent 26aab96 commit 1887b5a

File tree

3 files changed

+3
-3
lines changed

3 files changed

+3
-3
lines changed

mysql-test/suite/sys_vars/r/sysvars_innodb.result

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -588,7 +588,7 @@ VARIABLE_SCOPE GLOBAL
588588
VARIABLE_TYPE INT UNSIGNED
589589
VARIABLE_COMMENT InnoDB system tablespace size to be set in recovery.
590590
NUMERIC_MIN_VALUE 0
591-
NUMERIC_MAX_VALUE 4294967295
591+
NUMERIC_MAX_VALUE 268435456
592592
NUMERIC_BLOCK_SIZE 0
593593
ENUM_VALUE_LIST NULL
594594
READ_ONLY YES

storage/innobase/handler/ha_innodb.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19831,7 +19831,7 @@ static MYSQL_SYSVAR_UINT(data_file_size_debug,
1983119831
srv_sys_space_size_debug,
1983219832
PLUGIN_VAR_RQCMDARG | PLUGIN_VAR_READONLY,
1983319833
"InnoDB system tablespace size to be set in recovery.",
19834-
NULL, NULL, 0, 0, UINT_MAX32, 0);
19834+
NULL, NULL, 0, 0, 256U << 20, 0);
1983519835

1983619836
static MYSQL_SYSVAR_ULONG(fil_make_page_dirty_debug,
1983719837
srv_fil_make_page_dirty_debug, PLUGIN_VAR_OPCMDARG,

storage/xtradb/handler/ha_innodb.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21071,7 +21071,7 @@ static MYSQL_SYSVAR_UINT(data_file_size_debug,
2107121071
srv_sys_space_size_debug,
2107221072
PLUGIN_VAR_RQCMDARG | PLUGIN_VAR_READONLY,
2107321073
"InnoDB system tablespace size to be set in recovery.",
21074-
NULL, NULL, 0, 0, UINT_MAX32, 0);
21074+
NULL, NULL, 0, 0, 256U << 20, 0);
2107521075

2107621076
static MYSQL_SYSVAR_ULONG(fil_make_page_dirty_debug,
2107721077
srv_fil_make_page_dirty_debug, PLUGIN_VAR_OPCMDARG,

0 commit comments

Comments
 (0)