• Marko Mäkelä's avatar
    MDEV-29982 Improve the InnoDB log overwrite error message · e0e096fa
    Marko Mäkelä authored
    The InnoDB write-ahead log ib_logfile0 is of fixed size,
    specified by innodb_log_file_size. If the tail of the log
    manages to overwrite the head (latest checkpoint) of the log,
    crash recovery will be broken.
    
    Let us clarify the messages about this, including adding
    a message on the completion of a log checkpoint that notes
    that the dangerous situation is over.
    
    To reproduce the dangerous scenario, we will introduce the
    debug injection label ib_log_checkpoint_avoid_hard, which will
    avoid log checkpoints even harder than the previous
    ib_log_checkpoint_avoid.
    
    log_t::overwrite_warned: The first known dangerous log sequence number.
    Set in log_close() and cleared in log_write_checkpoint_info(),
    which will output a "Crash recovery was broken" message.
    e0e096fa
innochecksum,debug.rdiff 480 Bytes