1
0
mirror of https://github.com/MariaDB/server.git synced 2025-11-27 05:41:41 +03:00
Files
mariadb/mysql-test/include
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
..
2019-04-04 19:41:12 +03:00
2013-12-20 12:42:33 +04:00
2016-09-06 12:50:02 +04:00
2016-05-30 16:56:29 +04:00
2017-04-06 15:41:54 +05:30
2016-09-10 16:04:44 +02:00
2017-11-30 08:16:37 +02:00
2019-03-01 12:41:05 -05:00
2019-05-11 21:29:06 +03:00
2017-06-29 23:03:30 +05:30
2013-12-22 17:06:50 +01:00
2019-03-27 12:26:11 +02:00
2020-10-22 08:26:28 +03:00
2019-05-14 17:18:46 +03:00
2015-06-16 23:55:56 +02:00
2021-07-02 14:46:10 +10:00
2019-05-11 21:29:06 +03:00
2019-05-11 21:29:06 +03:00
2017-08-23 16:49:42 +05:30