MDEV-34803 innodb_lru_flush_size is no longer used
In commit fa8a46eb68299776589e769844372813ebb16a99 (MDEV-33613) the parameter innodb_lru_flush_size ceased to have any effect. Let us declare the parameter as deprecated and additionally as MARIADB_REMOVED_OPTION, so that there will be a warning written to the error log in case the option is specified in the command line. Let us also do the same for the parameter innodb_purge_rseg_truncate_frequency that was deprecated&ignored earlier in MDEV-32050. Reviewed by: Debarun Banerjee
This commit is contained in:
parent
48becffd07
commit
bda40ccb85
@ -241,7 +241,7 @@
|
|||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
-VARIABLE_TYPE BIGINT UNSIGNED
|
-VARIABLE_TYPE BIGINT UNSIGNED
|
||||||
+VARIABLE_TYPE INT UNSIGNED
|
+VARIABLE_TYPE INT UNSIGNED
|
||||||
VARIABLE_COMMENT How many pages to flush on LRU eviction
|
VARIABLE_COMMENT Deprecated parameter with no effect
|
||||||
NUMERIC_MIN_VALUE 1
|
NUMERIC_MIN_VALUE 1
|
||||||
-NUMERIC_MAX_VALUE 18446744073709551615
|
-NUMERIC_MAX_VALUE 18446744073709551615
|
||||||
+NUMERIC_MAX_VALUE 4294967295
|
+NUMERIC_MAX_VALUE 4294967295
|
||||||
|
@ -1044,13 +1044,13 @@ SESSION_VALUE NULL
|
|||||||
DEFAULT_VALUE 32
|
DEFAULT_VALUE 32
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
VARIABLE_TYPE BIGINT UNSIGNED
|
VARIABLE_TYPE BIGINT UNSIGNED
|
||||||
VARIABLE_COMMENT How many pages to flush on LRU eviction
|
VARIABLE_COMMENT Deprecated parameter with no effect
|
||||||
NUMERIC_MIN_VALUE 1
|
NUMERIC_MIN_VALUE 1
|
||||||
NUMERIC_MAX_VALUE 18446744073709551615
|
NUMERIC_MAX_VALUE 18446744073709551615
|
||||||
NUMERIC_BLOCK_SIZE 0
|
NUMERIC_BLOCK_SIZE 0
|
||||||
ENUM_VALUE_LIST NULL
|
ENUM_VALUE_LIST NULL
|
||||||
READ_ONLY NO
|
READ_ONLY NO
|
||||||
COMMAND_LINE_ARGUMENT REQUIRED
|
COMMAND_LINE_ARGUMENT NULL
|
||||||
VARIABLE_NAME INNODB_LRU_SCAN_DEPTH
|
VARIABLE_NAME INNODB_LRU_SCAN_DEPTH
|
||||||
SESSION_VALUE NULL
|
SESSION_VALUE NULL
|
||||||
DEFAULT_VALUE 1536
|
DEFAULT_VALUE 1536
|
||||||
@ -1314,7 +1314,7 @@ NUMERIC_MAX_VALUE 128
|
|||||||
NUMERIC_BLOCK_SIZE 0
|
NUMERIC_BLOCK_SIZE 0
|
||||||
ENUM_VALUE_LIST NULL
|
ENUM_VALUE_LIST NULL
|
||||||
READ_ONLY NO
|
READ_ONLY NO
|
||||||
COMMAND_LINE_ARGUMENT OPTIONAL
|
COMMAND_LINE_ARGUMENT NULL
|
||||||
VARIABLE_NAME INNODB_PURGE_THREADS
|
VARIABLE_NAME INNODB_PURGE_THREADS
|
||||||
SESSION_VALUE NULL
|
SESSION_VALUE NULL
|
||||||
DEFAULT_VALUE 4
|
DEFAULT_VALUE 4
|
||||||
|
@ -5262,7 +5262,9 @@ static int init_server_components()
|
|||||||
MARIADB_REMOVED_OPTION("innodb-log-compressed-pages"),
|
MARIADB_REMOVED_OPTION("innodb-log-compressed-pages"),
|
||||||
MARIADB_REMOVED_OPTION("innodb-log-files-in-group"),
|
MARIADB_REMOVED_OPTION("innodb-log-files-in-group"),
|
||||||
MARIADB_REMOVED_OPTION("innodb-log-optimize-ddl"),
|
MARIADB_REMOVED_OPTION("innodb-log-optimize-ddl"),
|
||||||
|
MARIADB_REMOVED_OPTION("innodb-lru-flush-size"),
|
||||||
MARIADB_REMOVED_OPTION("innodb-page-cleaners"),
|
MARIADB_REMOVED_OPTION("innodb-page-cleaners"),
|
||||||
|
MARIADB_REMOVED_OPTION("innodb-purge-truncate-frequency"),
|
||||||
MARIADB_REMOVED_OPTION("innodb-replication-delay"),
|
MARIADB_REMOVED_OPTION("innodb-replication-delay"),
|
||||||
MARIADB_REMOVED_OPTION("innodb-scrub-log"),
|
MARIADB_REMOVED_OPTION("innodb-scrub-log"),
|
||||||
MARIADB_REMOVED_OPTION("innodb-scrub-log-speed"),
|
MARIADB_REMOVED_OPTION("innodb-scrub-log-speed"),
|
||||||
|
@ -39,9 +39,6 @@ Created 11/5/1995 Heikki Tuuri
|
|||||||
#include "srv0mon.h"
|
#include "srv0mon.h"
|
||||||
#include "my_cpu.h"
|
#include "my_cpu.h"
|
||||||
|
|
||||||
/** Flush this many pages in buf_LRU_get_free_block() */
|
|
||||||
size_t innodb_lru_flush_size;
|
|
||||||
|
|
||||||
/** The number of blocks from the LRU_old pointer onward, including
|
/** The number of blocks from the LRU_old pointer onward, including
|
||||||
the block pointed to, must be buf_pool.LRU_old_ratio/BUF_LRU_OLD_RATIO_DIV
|
the block pointed to, must be buf_pool.LRU_old_ratio/BUF_LRU_OLD_RATIO_DIV
|
||||||
of the whole LRU list length, except that the tolerance defined below
|
of the whole LRU list length, except that the tolerance defined below
|
||||||
@ -369,17 +366,13 @@ block to read in a page. Note that we only ever get a block from
|
|||||||
the free list. Even when we flush a page or find a page in LRU scan
|
the free list. Even when we flush a page or find a page in LRU scan
|
||||||
we put it to free list to be used.
|
we put it to free list to be used.
|
||||||
* iteration 0:
|
* iteration 0:
|
||||||
* get a block from the buf_pool.free list, success:done
|
* get a block from the buf_pool.free list
|
||||||
* if buf_pool.try_LRU_scan is set
|
* if buf_pool.try_LRU_scan is set
|
||||||
* scan LRU up to 100 pages to free a clean block
|
* scan LRU up to 100 pages to free a clean block
|
||||||
* success:retry the free list
|
* success:retry the free list
|
||||||
* flush up to innodb_lru_flush_size LRU blocks to data files
|
* invoke buf_pool.page_cleaner_wakeup(true) and wait its completion
|
||||||
(until UT_LIST_GET_GEN(buf_pool.free) < innodb_lru_scan_depth)
|
|
||||||
* on buf_page_write_complete() the blocks will put on buf_pool.free list
|
|
||||||
* success: retry the free list
|
|
||||||
* subsequent iterations: same as iteration 0 except:
|
* subsequent iterations: same as iteration 0 except:
|
||||||
* scan whole LRU list
|
* scan the entire LRU list
|
||||||
* scan LRU list even if buf_pool.try_LRU_scan is not set
|
|
||||||
|
|
||||||
@param have_mutex whether buf_pool.mutex is already being held
|
@param have_mutex whether buf_pool.mutex is already being held
|
||||||
@return the free control block, in state BUF_BLOCK_MEMORY */
|
@return the free control block, in state BUF_BLOCK_MEMORY */
|
||||||
|
@ -19251,11 +19251,6 @@ static MYSQL_SYSVAR_ULONG(lru_scan_depth, srv_LRU_scan_depth,
|
|||||||
"How deep to scan LRU to keep it clean",
|
"How deep to scan LRU to keep it clean",
|
||||||
NULL, NULL, 1536, 100, ~0UL, 0);
|
NULL, NULL, 1536, 100, ~0UL, 0);
|
||||||
|
|
||||||
static MYSQL_SYSVAR_SIZE_T(lru_flush_size, innodb_lru_flush_size,
|
|
||||||
PLUGIN_VAR_RQCMDARG,
|
|
||||||
"How many pages to flush on LRU eviction",
|
|
||||||
NULL, NULL, 32, 1, SIZE_T_MAX, 0);
|
|
||||||
|
|
||||||
static MYSQL_SYSVAR_ULONG(flush_neighbors, srv_flush_neighbors,
|
static MYSQL_SYSVAR_ULONG(flush_neighbors, srv_flush_neighbors,
|
||||||
PLUGIN_VAR_OPCMDARG,
|
PLUGIN_VAR_OPCMDARG,
|
||||||
"Set to 0 (don't flush neighbors from buffer pool),"
|
"Set to 0 (don't flush neighbors from buffer pool),"
|
||||||
@ -19468,14 +19463,21 @@ static MYSQL_SYSVAR_ULONGLONG(max_undo_log_size, srv_max_undo_log_size,
|
|||||||
10 << 20, 10 << 20,
|
10 << 20, 10 << 20,
|
||||||
1ULL << (32 + UNIV_PAGE_SIZE_SHIFT_MAX), 0);
|
1ULL << (32 + UNIV_PAGE_SIZE_SHIFT_MAX), 0);
|
||||||
|
|
||||||
static ulong innodb_purge_rseg_truncate_frequency;
|
static ulong innodb_purge_rseg_truncate_frequency= 128;
|
||||||
|
|
||||||
static MYSQL_SYSVAR_ULONG(purge_rseg_truncate_frequency,
|
static MYSQL_SYSVAR_ULONG(purge_rseg_truncate_frequency,
|
||||||
innodb_purge_rseg_truncate_frequency,
|
innodb_purge_rseg_truncate_frequency,
|
||||||
PLUGIN_VAR_OPCMDARG | PLUGIN_VAR_DEPRECATED,
|
PLUGIN_VAR_OPCMDARG | PLUGIN_VAR_DEPRECATED | PLUGIN_VAR_NOCMDOPT,
|
||||||
"Deprecated parameter with no effect",
|
"Deprecated parameter with no effect",
|
||||||
NULL, NULL, 128, 1, 128, 0);
|
NULL, NULL, 128, 1, 128, 0);
|
||||||
|
|
||||||
|
static size_t innodb_lru_flush_size;
|
||||||
|
|
||||||
|
static MYSQL_SYSVAR_SIZE_T(lru_flush_size, innodb_lru_flush_size,
|
||||||
|
PLUGIN_VAR_RQCMDARG | PLUGIN_VAR_DEPRECATED | PLUGIN_VAR_NOCMDOPT,
|
||||||
|
"Deprecated parameter with no effect",
|
||||||
|
NULL, NULL, 32, 1, SIZE_T_MAX, 0);
|
||||||
|
|
||||||
static void innodb_undo_log_truncate_update(THD *thd, struct st_mysql_sys_var*,
|
static void innodb_undo_log_truncate_update(THD *thd, struct st_mysql_sys_var*,
|
||||||
void*, const void *save)
|
void*, const void *save)
|
||||||
{
|
{
|
||||||
|
@ -33,9 +33,6 @@ Created 11/5/1995 Heikki Tuuri
|
|||||||
struct trx_t;
|
struct trx_t;
|
||||||
struct fil_space_t;
|
struct fil_space_t;
|
||||||
|
|
||||||
/** Flush this many pages in buf_LRU_get_free_block() */
|
|
||||||
extern size_t innodb_lru_flush_size;
|
|
||||||
|
|
||||||
/*#######################################################################
|
/*#######################################################################
|
||||||
These are low-level functions
|
These are low-level functions
|
||||||
#########################################################################*/
|
#########################################################################*/
|
||||||
@ -71,17 +68,13 @@ block to read in a page. Note that we only ever get a block from
|
|||||||
the free list. Even when we flush a page or find a page in LRU scan
|
the free list. Even when we flush a page or find a page in LRU scan
|
||||||
we put it to free list to be used.
|
we put it to free list to be used.
|
||||||
* iteration 0:
|
* iteration 0:
|
||||||
* get a block from the buf_pool.free list, success:done
|
* get a block from the buf_pool.free list
|
||||||
* if buf_pool.try_LRU_scan is set
|
* if buf_pool.try_LRU_scan is set
|
||||||
* scan LRU up to 100 pages to free a clean block
|
* scan LRU up to 100 pages to free a clean block
|
||||||
* success:retry the free list
|
* success:retry the free list
|
||||||
* flush up to innodb_lru_flush_size LRU blocks to data files
|
* invoke buf_pool.page_cleaner_wakeup(true) and wait its completion
|
||||||
(until UT_LIST_GET_GEN(buf_pool.free) < innodb_lru_scan_depth)
|
|
||||||
* on buf_page_write_complete() the blocks will put on buf_pool.free list
|
|
||||||
* success: retry the free list
|
|
||||||
* subsequent iterations: same as iteration 0 except:
|
* subsequent iterations: same as iteration 0 except:
|
||||||
* scan whole LRU list
|
* scan the entire LRU list
|
||||||
* scan LRU list even if buf_pool.try_LRU_scan is not set
|
|
||||||
|
|
||||||
@param have_mutex whether buf_pool.mutex is already being held
|
@param have_mutex whether buf_pool.mutex is already being held
|
||||||
@return the free control block, in state BUF_BLOCK_MEMORY */
|
@return the free control block, in state BUF_BLOCK_MEMORY */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user