Commit faee08c1 authored by Vladislav Vaintroub's avatar Vladislav Vaintroub

MDEV-14114 Intoduce variable for binlog io cache size.

parent 5b3da95b
...@@ -67,6 +67,8 @@ The following options may be given as the first argument: ...@@ -67,6 +67,8 @@ The following options may be given as the first argument:
--binlog-do-db=name Tells the master it should log updates for the specified --binlog-do-db=name Tells the master it should log updates for the specified
database, and exclude all others not explicitly database, and exclude all others not explicitly
mentioned. mentioned.
--binlog-file-cache-size=#
The size of file cache for the binary log
--binlog-format=name --binlog-format=name
What form of binary logging the master will use: either What form of binary logging the master will use: either
ROW for row-based binary logging, STATEMENT for ROW for row-based binary logging, STATEMENT for
...@@ -1290,6 +1292,7 @@ binlog-checksum CRC32 ...@@ -1290,6 +1292,7 @@ binlog-checksum CRC32
binlog-commit-wait-count 0 binlog-commit-wait-count 0
binlog-commit-wait-usec 100000 binlog-commit-wait-usec 100000
binlog-direct-non-transactional-updates FALSE binlog-direct-non-transactional-updates FALSE
binlog-file-cache-size 16384
binlog-format MIXED binlog-format MIXED
binlog-optimize-thread-scheduling TRUE binlog-optimize-thread-scheduling TRUE
binlog-row-event-max-size 8192 binlog-row-event-max-size 8192
......
...@@ -220,6 +220,20 @@ NUMERIC_BLOCK_SIZE NULL ...@@ -220,6 +220,20 @@ NUMERIC_BLOCK_SIZE NULL
ENUM_VALUE_LIST OFF,ON ENUM_VALUE_LIST OFF,ON
READ_ONLY NO READ_ONLY NO
COMMAND_LINE_ARGUMENT OPTIONAL COMMAND_LINE_ARGUMENT OPTIONAL
VARIABLE_NAME BINLOG_FILE_CACHE_SIZE
SESSION_VALUE NULL
GLOBAL_VALUE 16384
GLOBAL_VALUE_ORIGIN COMPILE-TIME
DEFAULT_VALUE 16384
VARIABLE_SCOPE GLOBAL
VARIABLE_TYPE BIGINT UNSIGNED
VARIABLE_COMMENT The size of file cache for the binary log
NUMERIC_MIN_VALUE 8192
NUMERIC_MAX_VALUE 18446744073709551615
NUMERIC_BLOCK_SIZE 4096
ENUM_VALUE_LIST NULL
READ_ONLY NO
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME BINLOG_FORMAT VARIABLE_NAME BINLOG_FORMAT
SESSION_VALUE MIXED SESSION_VALUE MIXED
GLOBAL_VALUE MIXED GLOBAL_VALUE MIXED
......
...@@ -2391,7 +2391,7 @@ File open_binlog(IO_CACHE *log, const char *log_file_name, const char **errmsg) ...@@ -2391,7 +2391,7 @@ File open_binlog(IO_CACHE *log, const char *log_file_name, const char **errmsg)
*errmsg = "Could not open log file"; *errmsg = "Could not open log file";
goto err; goto err;
} }
if (init_io_cache(log, file, IO_SIZE*2, READ_CACHE, 0, 0, if (init_io_cache(log, file, binlog_file_cache_size, READ_CACHE, 0, 0,
MYF(MY_WME|MY_DONT_CHECK_FILESIZE))) MYF(MY_WME|MY_DONT_CHECK_FILESIZE)))
{ {
sql_print_error("Failed to create a cache on log (file '%s')", sql_print_error("Failed to create a cache on log (file '%s')",
......
...@@ -506,6 +506,7 @@ ulong slave_ddl_exec_mode_options= SLAVE_EXEC_MODE_IDEMPOTENT; ...@@ -506,6 +506,7 @@ ulong slave_ddl_exec_mode_options= SLAVE_EXEC_MODE_IDEMPOTENT;
ulonglong slave_type_conversions_options; ulonglong slave_type_conversions_options;
ulong thread_cache_size=0; ulong thread_cache_size=0;
ulonglong binlog_cache_size=0; ulonglong binlog_cache_size=0;
ulonglong binlog_file_cache_size=0;
ulonglong max_binlog_cache_size=0; ulonglong max_binlog_cache_size=0;
ulong slave_max_allowed_packet= 0; ulong slave_max_allowed_packet= 0;
ulonglong binlog_stmt_cache_size=0; ulonglong binlog_stmt_cache_size=0;
......
...@@ -214,7 +214,7 @@ extern volatile ulong cached_thread_count; ...@@ -214,7 +214,7 @@ extern volatile ulong cached_thread_count;
extern ulong what_to_log,flush_time; extern ulong what_to_log,flush_time;
extern ulong max_prepared_stmt_count, prepared_stmt_count; extern ulong max_prepared_stmt_count, prepared_stmt_count;
extern ulong open_files_limit; extern ulong open_files_limit;
extern ulonglong binlog_cache_size, binlog_stmt_cache_size; extern ulonglong binlog_cache_size, binlog_stmt_cache_size, binlog_file_cache_size;
extern ulonglong max_binlog_cache_size, max_binlog_stmt_cache_size; extern ulonglong max_binlog_cache_size, max_binlog_stmt_cache_size;
extern ulong max_binlog_size; extern ulong max_binlog_size;
extern ulong slave_max_allowed_packet; extern ulong slave_max_allowed_packet;
......
...@@ -396,6 +396,13 @@ static Sys_var_ulonglong Sys_binlog_cache_size( ...@@ -396,6 +396,13 @@ static Sys_var_ulonglong Sys_binlog_cache_size(
CMD_LINE(REQUIRED_ARG), CMD_LINE(REQUIRED_ARG),
VALID_RANGE(IO_SIZE, SIZE_T_MAX), DEFAULT(32768), BLOCK_SIZE(IO_SIZE)); VALID_RANGE(IO_SIZE, SIZE_T_MAX), DEFAULT(32768), BLOCK_SIZE(IO_SIZE));
static Sys_var_ulonglong Sys_binlog_file_cache_size(
"binlog_file_cache_size",
"The size of file cache for the binary log",
GLOBAL_VAR(binlog_file_cache_size),
CMD_LINE(REQUIRED_ARG),
VALID_RANGE(IO_SIZE*2, SIZE_T_MAX), DEFAULT(IO_SIZE*4), BLOCK_SIZE(IO_SIZE));
static Sys_var_ulonglong Sys_binlog_stmt_cache_size( static Sys_var_ulonglong Sys_binlog_stmt_cache_size(
"binlog_stmt_cache_size", "The size of the statement cache for " "binlog_stmt_cache_size", "The size of the statement cache for "
"updates to non-transactional engines for the binary log. " "updates to non-transactional engines for the binary log. "
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment