mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03: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:
@@ -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
|
VARIABLE_COMMENT Total memory allocated for InnoDB Fulltext Search cache
|
||||||
NUMERIC_MIN_VALUE 32000000
|
NUMERIC_MIN_VALUE 32000000
|
||||||
NUMERIC_MAX_VALUE 1600000000
|
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 @@
|
@@ -1093,22 +1093,22 @@
|
||||||
SESSION_VALUE NULL
|
SESSION_VALUE NULL
|
||||||
DEFAULT_VALUE 200
|
DEFAULT_VALUE 200
|
||||||
|
@@ -1053,18 +1053,6 @@ NUMERIC_BLOCK_SIZE NULL
|
|||||||
ENUM_VALUE_LIST NULL
|
ENUM_VALUE_LIST NULL
|
||||||
READ_ONLY NO
|
READ_ONLY NO
|
||||||
COMMAND_LINE_ARGUMENT OPTIONAL
|
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
|
VARIABLE_NAME INNODB_IMMEDIATE_SCRUB_DATA_UNCOMPRESSED
|
||||||
SESSION_VALUE NULL
|
SESSION_VALUE NULL
|
||||||
DEFAULT_VALUE OFF
|
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) 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
|
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
|
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__)
|
#if defined(__linux__)
|
||||||
MARIADB_REMOVED_OPTION("super-large-pages"),
|
MARIADB_REMOVED_OPTION("super-large-pages"),
|
||||||
#endif
|
#endif
|
||||||
|
MARIADB_REMOVED_OPTION("innodb-idle-flush-pct"),
|
||||||
MARIADB_REMOVED_OPTION("innodb-locks-unsafe-for-binlog"),
|
MARIADB_REMOVED_OPTION("innodb-locks-unsafe-for-binlog"),
|
||||||
MARIADB_REMOVED_OPTION("innodb-rollback-segments"),
|
MARIADB_REMOVED_OPTION("innodb-rollback-segments"),
|
||||||
MARIADB_REMOVED_OPTION("innodb-stats-sample-pages"),
|
MARIADB_REMOVED_OPTION("innodb-stats-sample-pages"),
|
||||||
|
@@ -76,6 +76,7 @@ static const char *removed_variables[] =
|
|||||||
"innodb_ibuf_accel_rate",
|
"innodb_ibuf_accel_rate",
|
||||||
"innodb_ibuf_active_contract",
|
"innodb_ibuf_active_contract",
|
||||||
"innodb_ibuf_max_size",
|
"innodb_ibuf_max_size",
|
||||||
|
"innodb_idle_flush_pct",
|
||||||
"innodb_import_table_from_xtrabackup",
|
"innodb_import_table_from_xtrabackup",
|
||||||
"innodb_instrument_semaphores",
|
"innodb_instrument_semaphores",
|
||||||
"innodb_kill_idle_transaction",
|
"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_DUMMY_DEFAULT, 100,
|
||||||
SRV_MAX_IO_CAPACITY_LIMIT, 0);
|
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
|
#ifdef UNIV_DEBUG
|
||||||
static MYSQL_SYSVAR_BOOL(background_drop_list_empty,
|
static MYSQL_SYSVAR_BOOL(background_drop_list_empty,
|
||||||
innodb_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),
|
||||||
MYSQL_SYSVAR(io_capacity_max),
|
MYSQL_SYSVAR(io_capacity_max),
|
||||||
MYSQL_SYSVAR(page_cleaners),
|
MYSQL_SYSVAR(page_cleaners),
|
||||||
MYSQL_SYSVAR(idle_flush_pct),
|
|
||||||
MYSQL_SYSVAR(monitor_enable),
|
MYSQL_SYSVAR(monitor_enable),
|
||||||
MYSQL_SYSVAR(monitor_disable),
|
MYSQL_SYSVAR(monitor_disable),
|
||||||
MYSQL_SYSVAR(monitor_reset),
|
MYSQL_SYSVAR(monitor_reset),
|
||||||
|
@@ -348,8 +348,6 @@ extern double srv_defragment_fill_factor;
|
|||||||
extern uint srv_defragment_frequency;
|
extern uint srv_defragment_frequency;
|
||||||
extern ulonglong srv_defragment_interval;
|
extern ulonglong srv_defragment_interval;
|
||||||
|
|
||||||
extern ulong srv_idle_flush_pct;
|
|
||||||
|
|
||||||
extern uint srv_change_buffer_max_size;
|
extern uint srv_change_buffer_max_size;
|
||||||
|
|
||||||
/* Number of IO operations per second the server can do */
|
/* 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 */
|
/** Lock table size in bytes */
|
||||||
ulint srv_lock_table_size = ULINT_MAX;
|
ulint srv_lock_table_size = ULINT_MAX;
|
||||||
|
|
||||||
/** innodb_idle_flush_pct */
|
|
||||||
ulong srv_idle_flush_pct;
|
|
||||||
|
|
||||||
/** innodb_read_io_threads */
|
/** innodb_read_io_threads */
|
||||||
uint srv_n_read_io_threads;
|
uint srv_n_read_io_threads;
|
||||||
/** innodb_write_io_threads */
|
/** innodb_write_io_threads */
|
||||||
|
Reference in New Issue
Block a user