diff options
author | Marko Mäkelä <marko.makela@oracle.com> | 2011-10-12 09:00:49 +0300 |
---|---|---|
committer | Marko Mäkelä <marko.makela@oracle.com> | 2011-10-12 09:00:49 +0300 |
commit | 6d59064948fa916667a7cc885ecdc4df3b8fb871 (patch) | |
tree | 1ef0f83c0171c603f5016d3111b4f4333b8f6a17 /dbug/user.r | |
parent | 73db2a1504188611c3348e1bd55d181aea6ab533 (diff) | |
download | mariadb-git-6d59064948fa916667a7cc885ecdc4df3b8fb871.tar.gz |
Bug#13006367 62487: innodb takes 3 minutes to clean up the adaptive
hash index at shutdown
btr_search_disable(): Just drop the entire adaptive hash index,
without dropping every record separately.
buf_pool_clear_hash_index(): Renamed and simplified from
buf_pool_drop_hash_index(). Set block->index = NULL for every block in
the buffer pool. Do not release the btr_search_latch. The caller will
have to adjust other data structures.
Remove block->is_hashed. It is redundant, should be always equal to
block->index != NULL.
Remove btr_search_fully_disabled, btr_search_enabled_mutex, and
SYNC_SEARCH_SYS_CONF. We drop the AHI in one pass, without releasing
the btr_search_latch in between.
Replace void* with const rec_t* and add assertions on btr_search_latch
and btr_search_enabled to ha0ha.h, ha0ha.ic, ha0ha.c.
page_set_max_trx_id(): Ignore the adaptive hash index. I forgot to
push this in rb:750.
btr0sea.c: Always after acquiring btr_search_latch, check for
block->index==NULL or !btr_search_enabled. We can now set
block->index=NULL while only holding btr_search_latch in exclusive
mode. Always acquire btr_search_latch before reading block->index,
except in shortcuts when testing for block->index == NULL.
ha_clear(), ha_search(): Unused function, remove.
buf_page_peek_if_search_hashed(): Remove. This function may avoid
latching a page at the cost of doing a duplicate buf_pool->page_hash
lookup.
rb:775 approved by Inaam Rana
Diffstat (limited to 'dbug/user.r')
0 files changed, 0 insertions, 0 deletions