Merge lp:~gl-az/percona-server/bug758788-5.1 into lp:percona-server/5.1
Status: | Merged |
---|---|
Approved by: | Laurynas Biveinis |
Approved revision: | no longer in the source branch. |
Merged at revision: | 608 |
Proposed branch: | lp:~gl-az/percona-server/bug758788-5.1 |
Merge into: | lp:percona-server/5.1 |
Diff against target: |
288 lines (+156/-32) 8 files modified
Percona-Server/mysql-test/suite/innodb_plugin/r/percona_bug758788.result (+9/-0) Percona-Server/mysql-test/suite/innodb_plugin/t/percona_bug758788-master.opt (+1/-0) Percona-Server/mysql-test/suite/innodb_plugin/t/percona_bug758788.test (+24/-0) Percona-Server/storage/innodb_plugin/dict/dict0dict.c (+95/-32) Percona-Server/storage/innodb_plugin/dict/dict0mem.c (+1/-0) Percona-Server/storage/innodb_plugin/include/lock0lock.h (+10/-0) Percona-Server/storage/innodb_plugin/include/lock0lock.ic (+14/-0) Percona-Server/storage/innodb_plugin/lock/lock0lock.c (+2/-0) |
To merge this branch: | bzr merge lp:~gl-az/percona-server/bug758788-5.1 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Laurynas Biveinis (community) | Approve | ||
Vlad Lesin (community) | g2 | Needs Fixing | |
Review via email: mp+205278@code.launchpad.net |
Description of the change
Fix for bug 758788 - mysql process crashes after setting innodb_dict_size
Fix for bug 1250018 - innodb_
dict_table_LRU_trim was missing some critical checks for existing locks on tables and indexes. Cleaned this up a bit and changed the algo to be not so aggressive when trying to find and evict tables from the dict cache.
With some of the new functionality, added some more debug assertions that should trip if the table is being evicted when it shouldn't as well as watching for an unexpectedly deleted table in some places.
Created very simple debug test case for 758788.
This very likely doesn't address every possible edge crash as the InnoDB dict system was simply never designed to be a dynamic cache but a static set of instances.
jenkins http://
Looks good for me, but the test case is not obvious. You did good explanation in bug #758788 comments about this test case, it would be more clear to have some resume in test comments.