Merge lp:~laurynas-biveinis/percona-server/26611-bug1059738-5.1 into lp:percona-server/5.1
Status: | Merged | ||||
---|---|---|---|---|---|
Approved by: | Alexey Kopytov | ||||
Approved revision: | no longer in the source branch. | ||||
Merged at revision: | 500 | ||||
Proposed branch: | lp:~laurynas-biveinis/percona-server/26611-bug1059738-5.1 | ||||
Merge into: | lp:percona-server/5.1 | ||||
Prerequisite: | lp:~laurynas-biveinis/percona-server/26611-bug1064333-5.1 | ||||
Diff against target: |
141 lines (+43/-9) 4 files modified
Percona-Server/storage/innodb_plugin/btr/btr0cur.c (+28/-6) Percona-Server/storage/innodb_plugin/include/btr0btr.h (+4/-1) Percona-Server/storage/innodb_plugin/row/row0ins.c (+9/-1) Percona-Server/storage/innodb_plugin/row/row0upd.c (+2/-1) |
||||
To merge this branch: | bzr merge lp:~laurynas-biveinis/percona-server/26611-bug1059738-5.1 | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Alexey Kopytov (community) | Approve | ||
Laurynas Biveinis | Pending | ||
Review via email: mp+131831@code.launchpad.net |
This proposal supersedes a proposal from 2012-10-18.
Description of the change
- Fixed } else { formatting.
- Added a comment explaining the sibling page unfix from the buffer.
- buf_read_page_low() is not used instead of btr_block_get() to avoid fixing/unfixing as it would make the code diverge too much in the prefetching case from the regular code path.
- No Jenkins, as the only changes are in formatting and comments.
Fix bug 1059738 (make innodb_fake_changes faster -- prefetch sibling
pages).
Fix adapted from lp:mysqlatfacebook/51, revision 3791, with the
difference that the sibling pages are not latched at all.
- Add new btr_latch_mode value BTR_SEARCH_TREE that is similar
BTR_MODIFY_TREE except that it does not X-latch the sibling pages of
the given leaf.
- btr_cur_
sibling leaf pages by reading them without latching and then
immediately unfixing them from the buffer.
- row_ins_
instead of BTR_MODIFY_TREE in case of fake changes.
26611
http://
The main.userstat_
Laurynas,
- why did you remove "ut_ad( mtr->trx- >fake_changes) ;" from the original patch? Looks like a good idea to me.
- what's the purpose of unfixing the sibling pages from the buffer? How about adding a comment?
- it must be "} else {" rather than "}<newline>else {"