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_TYPE BIGINT 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_MAX_VALUE 18446744073709551615
|
||||
+NUMERIC_MAX_VALUE 4294967295
|
||||
|
@ -1044,13 +1044,13 @@ SESSION_VALUE NULL
|
||||
DEFAULT_VALUE 32
|
||||
VARIABLE_SCOPE GLOBAL
|
||||
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_MAX_VALUE 18446744073709551615
|
||||
NUMERIC_BLOCK_SIZE 0
|
||||
ENUM_VALUE_LIST NULL
|
||||
READ_ONLY NO
|
||||
COMMAND_LINE_ARGUMENT REQUIRED
|
||||
COMMAND_LINE_ARGUMENT NULL
|
||||
VARIABLE_NAME INNODB_LRU_SCAN_DEPTH
|
||||
SESSION_VALUE NULL
|
||||
DEFAULT_VALUE 1536
|
||||
@ -1314,7 +1314,7 @@ NUMERIC_MAX_VALUE 128
|
||||
NUMERIC_BLOCK_SIZE 0
|
||||
ENUM_VALUE_LIST NULL
|
||||
READ_ONLY NO
|
||||
COMMAND_LINE_ARGUMENT OPTIONAL
|
||||
COMMAND_LINE_ARGUMENT NULL
|
||||
VARIABLE_NAME INNODB_PURGE_THREADS
|
||||
SESSION_VALUE NULL
|
||||
DEFAULT_VALUE 4
|
||||
|
@ -5262,7 +5262,9 @@ static int init_server_components()
|
||||
MARIADB_REMOVED_OPTION("innodb-log-compressed-pages"),
|
||||
MARIADB_REMOVED_OPTION("innodb-log-files-in-group"),
|
||||
MARIADB_REMOVED_OPTION("innodb-log-optimize-ddl"),
|
||||
MARIADB_REMOVED_OPTION("innodb-lru-flush-size"),
|
||||
MARIADB_REMOVED_OPTION("innodb-page-cleaners"),
|
||||
MARIADB_REMOVED_OPTION("innodb-purge-truncate-frequency"),
|
||||
MARIADB_REMOVED_OPTION("innodb-replication-delay"),
|
||||
MARIADB_REMOVED_OPTION("innodb-scrub-log"),
|
||||
MARIADB_REMOVED_OPTION("innodb-scrub-log-speed"),
|
||||
|
@ -39,9 +39,6 @@ Created 11/5/1995 Heikki Tuuri
|
||||
#include "srv0mon.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 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
|
||||
@ -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
|
||||
we put it to free list to be used.
|
||||
* 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
|
||||
* scan LRU up to 100 pages to free a clean block
|
||||
* success:retry the free list
|
||||
* flush up to innodb_lru_flush_size LRU blocks to data files
|
||||
(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
|
||||
* invoke buf_pool.page_cleaner_wakeup(true) and wait its completion
|
||||
* subsequent iterations: same as iteration 0 except:
|
||||
* scan whole LRU list
|
||||
* scan LRU list even if buf_pool.try_LRU_scan is not set
|
||||
* scan the entire LRU list
|
||||
|
||||
@param have_mutex whether buf_pool.mutex is already being held
|
||||
@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",
|
||||
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,
|
||||
PLUGIN_VAR_OPCMDARG,
|
||||
"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,
|
||||
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,
|
||||
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",
|
||||
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*,
|
||||
void*, const void *save)
|
||||
{
|
||||
|
@ -33,9 +33,6 @@ Created 11/5/1995 Heikki Tuuri
|
||||
struct trx_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
|
||||
#########################################################################*/
|
||||
@ -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
|
||||
we put it to free list to be used.
|
||||
* 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
|
||||
* scan LRU up to 100 pages to free a clean block
|
||||
* success:retry the free list
|
||||
* flush up to innodb_lru_flush_size LRU blocks to data files
|
||||
(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
|
||||
* invoke buf_pool.page_cleaner_wakeup(true) and wait its completion
|
||||
* subsequent iterations: same as iteration 0 except:
|
||||
* scan whole LRU list
|
||||
* scan LRU list even if buf_pool.try_LRU_scan is not set
|
||||
* scan the entire LRU list
|
||||
|
||||
@param have_mutex whether buf_pool.mutex is already being held
|
||||
@return the free control block, in state BUF_BLOCK_MEMORY */
|
||||
|
Loading…
x
Reference in New Issue
Block a user