Created by Alexey Kopytov and last modified
Get this branch:
bzr branch lp:~akopytov/percona-server/ahi-fixes-5.5
Only Alexey Kopytov can upload to this branch. If you are Alexey Kopytov please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Recent revisions

561. By Alexey Kopytov

Bug #1218330: Adaptive hash index memory is incorrectly calculated in

Fixed adaptive hash index memory calculation for the
Innodb_mem_adaptive_hash status variable and SHOW ENGINE INNODB
STATUS to the correct formula: instead of taking the stats from the
first heap and then multiplying it by the number of AHI partitions,
actually walk partitions and aggregate individual stats.

560. By Alexey Kopytov

Bug #1218321: Suboptimal AHI partitioning code to access AHI latches and
hash tables

Replaced btr_search_latch_part (which was an array of pointers to
latches protecting individual AHI partitions) with btr_search_latch_arr
which is just an array of latches. This simplifies some code and makes
it more efficient.

Renamed btr_search_sys_t::hash_index to btr_search_sys_t::hash_tables to
better reflect its contents.

559. By Alexey Kopytov

Bug #1218347: Unnecessary overhead from persistent adaptive hash index

Disabled persistent AHI latch code so that if row_search_for_mysql()
acquires an S latch on AHI, it is guaranteed to release it before
return. This also makes trx_search_latch_release_if_reserved() and some
ugly code in row_search_for_mysql() redundant.

This also makes it unnecessary to track multiple locks in
trx->has_search_latch, and thus it can be changed back to a boolean
value and the constraint on the maximum value of btr_search_index_num
can be removed. The latter is not done by this patch, but can be
easily changed later.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
This branch contains Public information 
Everyone can see this information.