Merge lp:~vlad-lesin/percona-server/5.1-table_cache_speed_up into lp:percona-server/5.1
Status: | Work in progress |
---|---|
Proposed branch: | lp:~vlad-lesin/percona-server/5.1-table_cache_speed_up |
Merge into: | lp:percona-server/5.1 |
Diff against target: |
318 lines (+118/-33) 10 files modified
Percona-Server/storage/myisam/ha_myisam.cc (+4/-0) Percona-Server/storage/myisam/mi_close.c (+1/-1) Percona-Server/storage/myisam/mi_dbug.c (+3/-3) Percona-Server/storage/myisam/mi_keycache.c (+3/-3) Percona-Server/storage/myisam/mi_open.c (+67/-13) Percona-Server/storage/myisam/mi_panic.c (+25/-9) Percona-Server/storage/myisam/mi_static.c (+1/-1) Percona-Server/storage/myisam/myisamchk.c (+6/-0) Percona-Server/storage/myisam/myisamdef.h (+3/-3) Percona-Server/storage/myisam/myisampack.c (+5/-0) |
To merge this branch: | bzr merge lp:~vlad-lesin/percona-server/5.1-table_cache_speed_up |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Stewart Smith (community) | Needs Fixing | ||
Alexey Kopytov (community) | Approve | ||
Review via email: mp+120285@code.launchpad.net |
Description of the change
This MP is port of this http://
Jenkins build of 5.1 with this patch is:
http://
Jenkins build of 5.1 without this patch is:
http://
There are three tests which failed on patched version and were success on original 5.1:
1) innodb_
(I think the trouble is in that "120813 15:38:22 [Warning] '--default-
2) rpl.percona_
It doesn't seem to be failed due to the patch. It passed at the second attempt and I can't repeat failure on my local host. I this the success passing of this test depends on host load.
3) rpl.rpl_stop_slave 'stmt'
I don't know how to interpret this failure. Console output shows that the project was not built. But the same log shows that tests were started and this is the only executed test.
There are four tests which failed on original 5.1 and were success on patched version:
1) main.percona_
2) rpl.percona_
3) rpl.rpl_row_func003 'row'
4) rpl.rpl_
Unmerged revisions
- 533. By Vlad Lesin
-
As the number of open tables is increased, table lookup
(testing if a table is already open) and (in particular)
the case when a table is not open, became increasingly more
expensive.The problem was caused by the open table lookup mechanism,
which was based on traversing a linked list comparing the
file names.As the list was replaced by a hash table, the lookup
time dropped significantly when used on systems with
a large number of open tables.The original patch can be found here:
http://lists.mysql. com/commits/ 121507
Approved after fixing revision comments to reference the bug number.