• Marko Mäkelä's avatar
    MDEV-11985 Make innodb_read_only shutdown more robust · 20e83474
    Marko Mäkelä authored
    If InnoDB is started in innodb_read_only mode such that
    recovered incomplete transactions exist at startup
    (but the redo logs are clean), an assertion will fail at shutdown,
    because there would exist some non-prepared transactions.
    
    logs_empty_and_mark_files_at_shutdown(): Do not wait for incomplete
    transactions to finish if innodb_read_only or innodb_force_recovery>=3.
    Wait for purge to finish in only one place.
    
    trx_sys_close(): Relax the assertion that would fail first.
    
    trx_free_prepared(): Also free recovered TRX_STATE_ACTIVE transactions
    if innodb_read_only or innodb_force_recovery>=3.
    20e83474
log0log.cc 102 KB