MDEV-20487 Remove the InnoDB adaptive hash index
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.
Showing
Please register or sign in to comment