diff options
author | Thirunarayanan Balathandayuthapani <thiru@mariadb.com> | 2020-05-27 13:03:06 +0530 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2020-06-05 20:55:08 +0300 |
commit | a74acce876c98c71e46b75f3a6487881fe056aed (patch) | |
tree | 9a38434768f0c023ce9606c91cb09d7dcedf18d1 /support-files/magic | |
parent | f8f7595d5c523fa27832eebe8bfefe15ad5731ac (diff) | |
download | mariadb-git-a74acce876c98c71e46b75f3a6487881fe056aed.tar.gz |
MDEV-22646 Assertion `table2->cached' failed in dict_table_t::add_to_cache
Problem:
========
During buffer pool resizing, InnoDB recreates the dictionary hash
tables. Dictionary hash table reuses the heap of AHI hash tables.
It leads to memory corruption.
Fix:
====
- While disabling AHI, free the heap and AHI hash tables. Recreate the
AHI hash tables and assign new heap when AHI is enabled.
- btr_blob_free() access invalid page if page was reallocated during
buffer poolresizing. So btr_blob_free() should get the page from
buf_pool instead of using existing block.
- btr_search_enabled and block->index should be checked after
acquiring the btr_search_sys latch
- Moved the buffer_pool_scan debug sync to earlier before accessing the
btr_search_sys latches to avoid the hang of truncate_purge_debug
test case
- srv_printf_innodb_monitor() should acquire btr_search_sys latches
before AHI hash tables.
Diffstat (limited to 'support-files/magic')
0 files changed, 0 insertions, 0 deletions