• Marko Mäkelä's avatar
    MDEV-20487 Remove the InnoDB adaptive hash index · 70bf0376
    Marko Mäkelä authored
    Based on the performance testing that was conducted in MDEV-17492,
    the InnoDB adaptive hash index could only help performance in specific,
    almost-read-only workloads. It could slow down all kinds of workloads
    (especially DROP TABLE, TRUNCATE TABLE, ALTER TABLE, or DROP INDEX
    operations), and it can become corrupted, causing crashes
    and possibly data corruption. Furthermore, the adaptive hash index
    consumes space from the InnoDB buffer pool, which could hurt performance
    when the working set would almost fit in the buffer pool.
    
    Given all this, it is best to remove innodb_adaptive_hash_index.
    For now, we will change the default value of the build option
    WITH_INNODB_AHI to OFF and adjust tests.
    
    The test rpl.rpl_failed_drop_tbl_binlog depends on DROP TABLE being
    able to be interrupted while it is dropping pages from the
    adaptive hash index. It will be skipped from now on by default,
    but it will be tested for builds WITH_INNODB_AHI=ON.
    70bf0376
innodb.cmake 7.68 KB