mirror of
https://github.com/MariaDB/server.git
synced 2025-02-10 23:45:34 +01:00
![Marko Mäkelä](/assets/img/avatar_default.png)
We will remove the parameter innodb_disallow_writes because it is badly designed and implemented. The parameter was never allowed at startup. It was only internally used by Galera snapshot transfer. If a user executed SET GLOBAL innodb_disallow_writes=ON; the server could hang even on subsequent read operations. During Galera snapshot transfer, we will block writes to implement an rsync friendly snapshot, as follows: sst_flush_tables() will acquire a global lock by executing FLUSH TABLES WITH READ LOCK, which will block any writes at the high level. sst_disable_innodb_writes(), invoked via ha_disable_internal_writes(true), will suspend or disable InnoDB background tasks or threads that could initiate writes. As part of this, log_make_checkpoint() will be invoked to ensure that anything in the InnoDB buf_pool.flush_list will be written to the data files. This has the nice side effect that the Galera joiner will avoid crash recovery. The changes to sql/wsrep.cc and to the tests are based on a prototype that was developed by Jan Lindström. Reviewed by: Jan Lindström
16 lines
924 B
Text
16 lines
924 B
Text
--source include/have_innodb.inc
|
|
--source include/have_debug.inc
|
|
--source include/not_valgrind.inc
|
|
--source include/word_size.inc
|
|
|
|
--vertical_results
|
|
--replace_regex /^\/\S+/PATH/ /\.\//PATH/
|
|
select VARIABLE_NAME, SESSION_VALUE, DEFAULT_VALUE, VARIABLE_SCOPE, VARIABLE_TYPE, VARIABLE_COMMENT, NUMERIC_MIN_VALUE, NUMERIC_MAX_VALUE, NUMERIC_BLOCK_SIZE, ENUM_VALUE_LIST, READ_ONLY, COMMAND_LINE_ARGUMENT from information_schema.system_variables
|
|
where variable_name like 'innodb%' and
|
|
variable_name not in (
|
|
'innodb_version', # always the same as the server version
|
|
'innodb_numa_interleave', # only available WITH_NUMA
|
|
'innodb_evict_tables_on_commit_debug', # one may want to override this
|
|
'innodb_use_native_aio', # default value depends on OS
|
|
'innodb_buffer_pool_load_pages_abort') # debug build only, and is only for testing
|
|
order by variable_name;
|