diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2023-03-16 13:39:23 +0200 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2023-03-16 13:39:23 +0200 |
commit | 1495f057c8a3aa5783de0993f6f95aae3e352f7a (patch) | |
tree | 7f0537277d48a74b41d20f1ee0e82ffe178755c9 /extra | |
parent | 7d6b3d40085562d6f9f110f4ba921cf061548844 (diff) | |
download | mariadb-git-1495f057c8a3aa5783de0993f6f95aae3e352f7a.tar.gz |
MDEV-30860 Race condition between buffer pool flush and log file deletion in mariadb-backup --prepare
srv_start(): If we are going to close the log file in
mariadb-backup --prepare, call buf_flush_sync() before
calling recv_sys.debug_free() to ensure that the log file
will not be accessed.
This fixes a rather rare failure in the test
mariabackup.innodb_force_recovery where buf_flush_page_cleaner()
would invoke log_checkpoint_low() because !recv_recovery_is_on()
would hold due to the fact that recv_sys.debug_free() had
already been called. Then, the log write for the checkpoint
would fail because srv_start() had invoked log_sys.log.close_file().
Diffstat (limited to 'extra')
0 files changed, 0 insertions, 0 deletions