mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 03:52:35 +01:00
MDEV-24536 innodb_idle_flush_pct has no effect
The parameter innodb_idle_flush_pct that was introduced in MariaDB Server 10.1.2 by MDEV-6932 has no effect ever since the InnoDB changes from MySQL 5.7.9 were applied in commit2e814d4702
. Let us declare the parameter as MARIADB_REMOVED_OPTION. For earlier versions, commitea9cd97f85
declared the parameter deprecated.
This commit is contained in:
parent
2c845e0bd6
commit
e4205fba7c
9 changed files with 3 additions and 175 deletions
|
@ -1,77 +0,0 @@
|
|||
SET @start_global_value = @@global.innodb_idle_flush_pct;
|
||||
SELECT @start_global_value;
|
||||
@start_global_value
|
||||
100
|
||||
Valid values are between 0 and 100
|
||||
select @@global.innodb_idle_flush_pct between 0 and 100;
|
||||
@@global.innodb_idle_flush_pct between 0 and 100
|
||||
1
|
||||
select @@global.innodb_idle_flush_pct;
|
||||
@@global.innodb_idle_flush_pct
|
||||
100
|
||||
select @@session.innodb_idle_flush_pct;
|
||||
ERROR HY000: Variable 'innodb_idle_flush_pct' is a GLOBAL variable
|
||||
show global variables like 'innodb_idle_flush_pct';
|
||||
Variable_name Value
|
||||
innodb_idle_flush_pct 100
|
||||
show session variables like 'innodb_idle_flush_pct';
|
||||
Variable_name Value
|
||||
innodb_idle_flush_pct 100
|
||||
select * from information_schema.global_variables where variable_name='innodb_idle_flush_pct';
|
||||
VARIABLE_NAME VARIABLE_VALUE
|
||||
INNODB_IDLE_FLUSH_PCT 100
|
||||
select * from information_schema.session_variables where variable_name='innodb_idle_flush_pct';
|
||||
VARIABLE_NAME VARIABLE_VALUE
|
||||
INNODB_IDLE_FLUSH_PCT 100
|
||||
set global innodb_idle_flush_pct=10;
|
||||
select @@global.innodb_idle_flush_pct;
|
||||
@@global.innodb_idle_flush_pct
|
||||
10
|
||||
select * from information_schema.global_variables where variable_name='innodb_idle_flush_pct';
|
||||
VARIABLE_NAME VARIABLE_VALUE
|
||||
INNODB_IDLE_FLUSH_PCT 10
|
||||
select * from information_schema.session_variables where variable_name='innodb_idle_flush_pct';
|
||||
VARIABLE_NAME VARIABLE_VALUE
|
||||
INNODB_IDLE_FLUSH_PCT 10
|
||||
set session innodb_idle_flush_pct=1;
|
||||
ERROR HY000: Variable 'innodb_idle_flush_pct' is a GLOBAL variable and should be set with SET GLOBAL
|
||||
set global innodb_idle_flush_pct=1.1;
|
||||
ERROR 42000: Incorrect argument type to variable 'innodb_idle_flush_pct'
|
||||
set global innodb_idle_flush_pct=1e1;
|
||||
ERROR 42000: Incorrect argument type to variable 'innodb_idle_flush_pct'
|
||||
set global innodb_idle_flush_pct="bar";
|
||||
ERROR 42000: Incorrect argument type to variable 'innodb_idle_flush_pct'
|
||||
set global innodb_idle_flush_pct=-7;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect innodb_idle_flush_pct value: '-7'
|
||||
select @@global.innodb_idle_flush_pct;
|
||||
@@global.innodb_idle_flush_pct
|
||||
0
|
||||
select * from information_schema.global_variables where variable_name='innodb_idle_flush_pct';
|
||||
VARIABLE_NAME VARIABLE_VALUE
|
||||
INNODB_IDLE_FLUSH_PCT 0
|
||||
set global innodb_idle_flush_pct=106;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect innodb_idle_flush_pct value: '106'
|
||||
select @@global.innodb_idle_flush_pct;
|
||||
@@global.innodb_idle_flush_pct
|
||||
100
|
||||
select * from information_schema.global_variables where variable_name='innodb_idle_flush_pct';
|
||||
VARIABLE_NAME VARIABLE_VALUE
|
||||
INNODB_IDLE_FLUSH_PCT 100
|
||||
set global innodb_idle_flush_pct=0;
|
||||
select @@global.innodb_idle_flush_pct;
|
||||
@@global.innodb_idle_flush_pct
|
||||
0
|
||||
set global innodb_idle_flush_pct=100;
|
||||
select @@global.innodb_idle_flush_pct;
|
||||
@@global.innodb_idle_flush_pct
|
||||
100
|
||||
set global innodb_idle_flush_pct=DEFAULT;
|
||||
select @@global.innodb_idle_flush_pct;
|
||||
@@global.innodb_idle_flush_pct
|
||||
100
|
||||
SET @@global.innodb_idle_flush_pct = @start_global_value;
|
||||
SELECT @@global.innodb_idle_flush_pct;
|
||||
@@global.innodb_idle_flush_pct
|
||||
100
|
|
@ -188,15 +188,6 @@
|
|||
VARIABLE_COMMENT Total memory allocated for InnoDB Fulltext Search cache
|
||||
NUMERIC_MIN_VALUE 32000000
|
||||
NUMERIC_MAX_VALUE 1600000000
|
||||
@@ -1057,7 +1057,7 @@
|
||||
SESSION_VALUE NULL
|
||||
DEFAULT_VALUE 100
|
||||
VARIABLE_SCOPE GLOBAL
|
||||
-VARIABLE_TYPE BIGINT UNSIGNED
|
||||
+VARIABLE_TYPE INT UNSIGNED
|
||||
VARIABLE_COMMENT Up to what percentage of dirty pages should be flushed when innodb finds it has spare resources to do so.
|
||||
NUMERIC_MIN_VALUE 0
|
||||
NUMERIC_MAX_VALUE 100
|
||||
@@ -1093,22 +1093,22 @@
|
||||
SESSION_VALUE NULL
|
||||
DEFAULT_VALUE 200
|
||||
|
|
|
@ -1053,18 +1053,6 @@ NUMERIC_BLOCK_SIZE NULL
|
|||
ENUM_VALUE_LIST NULL
|
||||
READ_ONLY NO
|
||||
COMMAND_LINE_ARGUMENT OPTIONAL
|
||||
VARIABLE_NAME INNODB_IDLE_FLUSH_PCT
|
||||
SESSION_VALUE NULL
|
||||
DEFAULT_VALUE 100
|
||||
VARIABLE_SCOPE GLOBAL
|
||||
VARIABLE_TYPE BIGINT UNSIGNED
|
||||
VARIABLE_COMMENT Up to what percentage of dirty pages should be flushed when innodb finds it has spare resources to do so.
|
||||
NUMERIC_MIN_VALUE 0
|
||||
NUMERIC_MAX_VALUE 100
|
||||
NUMERIC_BLOCK_SIZE 0
|
||||
ENUM_VALUE_LIST NULL
|
||||
READ_ONLY NO
|
||||
COMMAND_LINE_ARGUMENT REQUIRED
|
||||
VARIABLE_NAME INNODB_IMMEDIATE_SCRUB_DATA_UNCOMPRESSED
|
||||
SESSION_VALUE NULL
|
||||
DEFAULT_VALUE OFF
|
||||
|
|
|
@ -1,63 +0,0 @@
|
|||
|
||||
#
|
||||
# 2013-04-01 - Added
|
||||
#
|
||||
|
||||
--source include/have_innodb.inc
|
||||
|
||||
SET @start_global_value = @@global.innodb_idle_flush_pct;
|
||||
SELECT @start_global_value;
|
||||
|
||||
#
|
||||
# exists as global only
|
||||
#
|
||||
--echo Valid values are between 0 and 100
|
||||
select @@global.innodb_idle_flush_pct between 0 and 100;
|
||||
select @@global.innodb_idle_flush_pct;
|
||||
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
|
||||
select @@session.innodb_idle_flush_pct;
|
||||
show global variables like 'innodb_idle_flush_pct';
|
||||
show session variables like 'innodb_idle_flush_pct';
|
||||
select * from information_schema.global_variables where variable_name='innodb_idle_flush_pct';
|
||||
select * from information_schema.session_variables where variable_name='innodb_idle_flush_pct';
|
||||
|
||||
#
|
||||
# show that it's writable
|
||||
#
|
||||
set global innodb_idle_flush_pct=10;
|
||||
select @@global.innodb_idle_flush_pct;
|
||||
select * from information_schema.global_variables where variable_name='innodb_idle_flush_pct';
|
||||
select * from information_schema.session_variables where variable_name='innodb_idle_flush_pct';
|
||||
--error ER_GLOBAL_VARIABLE
|
||||
set session innodb_idle_flush_pct=1;
|
||||
|
||||
#
|
||||
# incorrect types
|
||||
#
|
||||
--error ER_WRONG_TYPE_FOR_VAR
|
||||
set global innodb_idle_flush_pct=1.1;
|
||||
--error ER_WRONG_TYPE_FOR_VAR
|
||||
set global innodb_idle_flush_pct=1e1;
|
||||
--error ER_WRONG_TYPE_FOR_VAR
|
||||
set global innodb_idle_flush_pct="bar";
|
||||
|
||||
set global innodb_idle_flush_pct=-7;
|
||||
select @@global.innodb_idle_flush_pct;
|
||||
select * from information_schema.global_variables where variable_name='innodb_idle_flush_pct';
|
||||
set global innodb_idle_flush_pct=106;
|
||||
select @@global.innodb_idle_flush_pct;
|
||||
select * from information_schema.global_variables where variable_name='innodb_idle_flush_pct';
|
||||
|
||||
#
|
||||
# min/max/DEFAULT values
|
||||
#
|
||||
set global innodb_idle_flush_pct=0;
|
||||
select @@global.innodb_idle_flush_pct;
|
||||
set global innodb_idle_flush_pct=100;
|
||||
select @@global.innodb_idle_flush_pct;
|
||||
set global innodb_idle_flush_pct=DEFAULT;
|
||||
select @@global.innodb_idle_flush_pct;
|
||||
|
||||
|
||||
SET @@global.innodb_idle_flush_pct = @start_global_value;
|
||||
SELECT @@global.innodb_idle_flush_pct;
|
|
@ -1,5 +1,5 @@
|
|||
/* Copyright (c) 2000, 2015, Oracle and/or its affiliates.
|
||||
Copyright (c) 2008, 2020, MariaDB
|
||||
Copyright (c) 2008, 2021, MariaDB
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
@ -4979,6 +4979,7 @@ static int init_server_components()
|
|||
#if defined(__linux__)
|
||||
MARIADB_REMOVED_OPTION("super-large-pages"),
|
||||
#endif
|
||||
MARIADB_REMOVED_OPTION("innodb-idle-flush-pct"),
|
||||
MARIADB_REMOVED_OPTION("innodb-locks-unsafe-for-binlog"),
|
||||
MARIADB_REMOVED_OPTION("innodb-rollback-segments"),
|
||||
MARIADB_REMOVED_OPTION("innodb-stats-sample-pages"),
|
||||
|
|
|
@ -76,6 +76,7 @@ static const char *removed_variables[] =
|
|||
"innodb_ibuf_accel_rate",
|
||||
"innodb_ibuf_active_contract",
|
||||
"innodb_ibuf_max_size",
|
||||
"innodb_idle_flush_pct",
|
||||
"innodb_import_table_from_xtrabackup",
|
||||
"innodb_instrument_semaphores",
|
||||
"innodb_kill_idle_transaction",
|
||||
|
|
|
@ -18892,13 +18892,6 @@ static MYSQL_SYSVAR_ULONG(io_capacity_max, srv_max_io_capacity,
|
|||
SRV_MAX_IO_CAPACITY_DUMMY_DEFAULT, 100,
|
||||
SRV_MAX_IO_CAPACITY_LIMIT, 0);
|
||||
|
||||
static MYSQL_SYSVAR_ULONG(idle_flush_pct,
|
||||
srv_idle_flush_pct,
|
||||
PLUGIN_VAR_RQCMDARG,
|
||||
"Up to what percentage of dirty pages should be flushed when innodb "
|
||||
"finds it has spare resources to do so.",
|
||||
NULL, NULL, 100, 0, 100, 0);
|
||||
|
||||
#ifdef UNIV_DEBUG
|
||||
static MYSQL_SYSVAR_BOOL(background_drop_list_empty,
|
||||
innodb_background_drop_list_empty,
|
||||
|
@ -20057,7 +20050,6 @@ static struct st_mysql_sys_var* innobase_system_variables[]= {
|
|||
MYSQL_SYSVAR(io_capacity),
|
||||
MYSQL_SYSVAR(io_capacity_max),
|
||||
MYSQL_SYSVAR(page_cleaners),
|
||||
MYSQL_SYSVAR(idle_flush_pct),
|
||||
MYSQL_SYSVAR(monitor_enable),
|
||||
MYSQL_SYSVAR(monitor_disable),
|
||||
MYSQL_SYSVAR(monitor_reset),
|
||||
|
|
|
@ -348,8 +348,6 @@ extern double srv_defragment_fill_factor;
|
|||
extern uint srv_defragment_frequency;
|
||||
extern ulonglong srv_defragment_interval;
|
||||
|
||||
extern ulong srv_idle_flush_pct;
|
||||
|
||||
extern uint srv_change_buffer_max_size;
|
||||
|
||||
/* Number of IO operations per second the server can do */
|
||||
|
|
|
@ -224,9 +224,6 @@ ulong srv_buf_pool_load_pages_abort = LONG_MAX;
|
|||
/** Lock table size in bytes */
|
||||
ulint srv_lock_table_size = ULINT_MAX;
|
||||
|
||||
/** innodb_idle_flush_pct */
|
||||
ulong srv_idle_flush_pct;
|
||||
|
||||
/** innodb_read_io_threads */
|
||||
uint srv_n_read_io_threads;
|
||||
/** innodb_write_io_threads */
|
||||
|
|
Loading…
Reference in a new issue