mariadb/extra
Marko Mäkelä e9735a8185 MDEV-25975 innodb_disallow_writes causes shutdown to hang
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
2022-04-06 08:06:49 +03:00
..
crc32-vpmsum MDEV-21984: POWER crc32 acceleration - fix clang's behavior on versions >= 7 2020-04-13 14:32:10 +03:00
mariabackup MDEV-25975 innodb_disallow_writes causes shutdown to hang 2022-04-06 08:06:49 +03:00
readline Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
yassl Merge branch 10.2 into 10.3 2021-12-23 14:14:04 +01:00
charset2html.c Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
CMakeLists.txt Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
comp_err.c Merge 10.2 into 10.3 2020-05-25 19:41:58 +03:00
innochecksum.cc Merge 10.2 into 10.3 2022-04-06 08:06:35 +03:00
my_print_defaults.c MDEV-25354: Fix my_print_defaults wording 2021-04-14 14:57:32 +10:00
mysql_waitpid.c Update FSF Address 2019-05-11 21:29:06 +03:00
mysqld_safe_helper.c mysqld_safe_help - remove warning 2017-04-30 15:06:01 +04:00
perror.c Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
replace.c Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
resolve_stack_dump.c Fixed memory leaks in resolve_stack_dump 2020-04-18 11:51:42 +03:00
resolveip.c Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00