• Marko Mäkelä's avatar
    MDEV-18733 MariaDB slow start after crash recovery · cad56fba
    Marko Mäkelä authored
    If InnoDB crash recovery was needed, the InnoDB function srv_start()
    would invoke extra validation, reading something from every InnoDB
    data file. This should be unnecessary now that MDEV-14717 made
    RENAME operations crash-safe inside InnoDB (which can be
    disabled in MariaDB 10.2 by setting innodb_safe_truncate=OFF).
    
    dict_check_sys_tables(): Skip tables that would be dropped by
    row_mysql_drop_garbage_tables(). Perform extra validation only
    if innodb_safe_truncate=OFF, innodb_force_recovery=0 and
    crash recovery was needed.
    
    dict_load_table_one(): Validate the root page of the table.
    In this way, we can deny access to corrupted or mismatching tables
    not only after crash recovery, but also after a clean shutdown.
    cad56fba
innodb-bad-key-change.test 3.59 KB