mirror of
https://github.com/MariaDB/server.git
synced 2025-01-31 02:51:44 +01:00
e9735a8185
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 |
||
---|---|---|
.. | ||
row0ext.cc | ||
row0ftsort.cc | ||
row0import.cc | ||
row0ins.cc | ||
row0log.cc | ||
row0merge.cc | ||
row0mysql.cc | ||
row0purge.cc | ||
row0quiesce.cc | ||
row0row.cc | ||
row0sel.cc | ||
row0trunc.cc | ||
row0uins.cc | ||
row0umod.cc | ||
row0undo.cc | ||
row0upd.cc | ||
row0vers.cc |