• Marko Mäkelä's avatar
    MDEV-30860 Race condition between buffer pool flush and log file deletion in... · 1495f057
    Marko Mäkelä authored
    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().
    1495f057
srv0start.cc 59.6 KB