Merge lp:~stewart/percona-server/bug758788 into lp:percona-server/5.1
Status: | Work in progress |
---|---|
Proposed branch: | lp:~stewart/percona-server/bug758788 |
Merge into: | lp:percona-server/5.1 |
Diff against target: |
306 lines (+123/-11) 16 files modified
Percona-Server/mysql-test/suite/innodb_plugin/r/innodb_dict_size_basic.result (+9/-0) Percona-Server/mysql-test/suite/innodb_plugin/r/innodb_dict_size_evict.result (+6/-0) Percona-Server/mysql-test/suite/innodb_plugin/r/innodb_dict_size_small.result (+9/-0) Percona-Server/mysql-test/suite/innodb_plugin/t/innodb_dict_size_basic-master.opt (+1/-0) Percona-Server/mysql-test/suite/innodb_plugin/t/innodb_dict_size_basic.test (+9/-0) Percona-Server/mysql-test/suite/innodb_plugin/t/innodb_dict_size_evict-master.opt (+1/-0) Percona-Server/mysql-test/suite/innodb_plugin/t/innodb_dict_size_evict.test (+34/-0) Percona-Server/mysql-test/suite/innodb_plugin/t/innodb_dict_size_small-master.opt (+1/-0) Percona-Server/mysql-test/suite/innodb_plugin/t/innodb_dict_size_small.test (+8/-0) Percona-Server/storage/innodb_plugin/dict/dict0dict.c (+5/-2) Percona-Server/storage/innodb_plugin/handler/ha_innodb.cc (+15/-1) Percona-Server/storage/innodb_plugin/include/dict0dict.h (+1/-0) Percona-Server/storage/innodb_plugin/include/srv0srv.h (+1/-0) Percona-Server/storage/innodb_plugin/row/row0ins.c (+21/-7) Percona-Server/storage/innodb_plugin/srv/srv0srv.c (+1/-0) Percona-Server/storage/innodb_plugin/sync/sync0rw.c (+1/-1) |
To merge this branch: | bzr merge lp:~stewart/percona-server/bug758788 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Alexey Kopytov (community) | Needs Fixing | ||
Review via email: mp+84066@code.launchpad.net |
Description of the change
fixes crash when innodb_dict_size is set (now our various test cases with dbqp pass) as well as adds a counter for the number of cache evictions that have occurred. It also adds test cases, one of which must be --big-test as it works on 30,000 tables.
http://
Unmerged revisions
- 416. By Stewart Smith
-
prepend 'InnoDB: ' to dict_size_limit warnings
- 415. By Stewart Smith
-
fix up innodb_
dict_size_ limit tests to properly have the --soucre include/ have_innodb_ plugin. inc instead of --innodb in master.opt. Turns out that I'd mostly forgotten that MySQL doesn't run with InnoDB by default for any test. - 414. By Stewart Smith
-
remove percona_
innodb_ dict_size_ basic.reject that was added by mistake - 413. By Stewart Smith
-
add innodb_
dict_evictions counter. This counts the number of evictions from the data dictionary cache. - 412. By Stewart Smith
-
Add a minimal size for innodb_
dict_size_ limit (100MB) as this avoids a race condition when using index entry and removing index entry when the list is too small - 411. By Stewart Smith
-
Apply bug758788 patch originally by Yasufumi. Aim is to prevent/stop crashes with innodb_dict_size set
Hm, so the "fix" is just to raise the minimum value for innodb_dict_size to 100M to lower probability of a race condition. But people in the bug report say the crash is reproducible with 128M and 100M. So either we are fixing a different problem (i.e. the one found by dbpq and the original one are different), or 100M is not sufficient to avoid the crash?
Some minor comments on the patch:
- percona_ innodb_ dict_size_ basic.reject was added by mistake? dict_size_ limit should be prefixed
- it looks like -master.opt don't really need --innodb. But need new
lines :)
- I think the warning about innodb_
with "InnoDB:" or "InnoDB: Warning: ", just for consistency with
other messages
- I don't understand the change in sync0rw.c. What is it for?