mariadb/storage/innobase/row
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
..
row0ext.cc Merge 10.2 into 10.3 2020-07-02 06:17:51 +03:00
row0ftsort.cc Merge 10.2 into 10.3 2021-10-28 07:50:05 +03:00
row0import.cc Merge branch '10.2' into 10.3 2022-01-29 15:41:05 +01:00
row0ins.cc Merge 10.2 into 10.3 2021-10-28 07:50:05 +03:00
row0log.cc MDEV-24620 ASAN heap-buffer-overflow in btr_pcur_restore_position() 2021-04-13 10:28:13 +03:00
row0merge.cc MDEV-25975 innodb_disallow_writes causes shutdown to hang 2022-04-06 08:06:49 +03:00
row0mysql.cc Merge 10.2 into 10.3 2021-10-21 13:41:04 +03:00
row0purge.cc MDEV-20605 Awaken transaction can miss inserted by other transaction records due to wrong persistent cursor restoration 2022-02-21 12:49:54 +03:00
row0quiesce.cc Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
row0row.cc MDEV-24620 ASAN heap-buffer-overflow in btr_pcur_restore_position() 2021-04-13 10:28:13 +03:00
row0sel.cc MDEV-20605 Awaken transaction can miss inserted by other transaction records due to wrong persistent cursor restoration 2022-02-21 12:49:54 +03:00
row0trunc.cc Merge 10.2 into 10.3 2020-08-21 19:18:34 +03:00
row0uins.cc MDEV-20605 Awaken transaction can miss inserted by other transaction records due to wrong persistent cursor restoration 2022-02-21 12:49:54 +03:00
row0umod.cc MDEV-20605 Awaken transaction can miss inserted by other transaction records due to wrong persistent cursor restoration 2022-02-21 12:49:54 +03:00
row0undo.cc Merge 10.2 into 10.3 2021-04-21 07:25:48 +03:00
row0upd.cc MDEV-20605 Awaken transaction can miss inserted by other transaction records due to wrong persistent cursor restoration 2022-02-21 12:49:54 +03:00
row0vers.cc Merge 10.2 into 10.3 2021-10-28 07:50:05 +03:00