lp:~vlad-lesin/percona-server/5.6-logical-readahead
- Get this branch:
- bzr branch lp:~vlad-lesin/percona-server/5.6-logical-readahead
Branch merges
- Laurynas Biveinis (community): Needs Resubmitting
-
Diff: 2278 lines (+1520/-71)40 files modifiedclient/client_priv.h (+4/-1)
client/mysqldump.c (+38/-0)
mysql-test/include/have_native_aio.inc (+6/-0)
mysql-test/suite/innodb/r/innodb_logical_read_ahead.result (+47/-0)
mysql-test/suite/innodb/r/innodb_logical_read_ahead_correctness.result (+88/-0)
mysql-test/suite/innodb/r/innodb_merge_read.result (+30/-0)
mysql-test/suite/innodb/t/innodb_logical_read_ahead-master.opt (+2/-0)
mysql-test/suite/innodb/t/innodb_logical_read_ahead.test (+55/-0)
mysql-test/suite/innodb/t/innodb_logical_read_ahead_correctness-master.opt (+2/-0)
mysql-test/suite/innodb/t/innodb_logical_read_ahead_correctness.test (+107/-0)
mysql-test/suite/innodb/t/innodb_merge_read-master.opt (+1/-0)
mysql-test/suite/innodb/t/innodb_merge_read.test (+42/-0)
mysql-test/suite/sys_vars/r/innodb_lra_n_node_recs_before_sleep_basic.result (+28/-0)
mysql-test/suite/sys_vars/r/innodb_lra_size_basic.result (+28/-0)
mysql-test/suite/sys_vars/r/innodb_lra_sleep_basic.result (+30/-0)
mysql-test/suite/sys_vars/r/innodb_lra_test_basic.result (+8/-0)
mysql-test/suite/sys_vars/t/innodb_lra_n_node_recs_before_sleep_basic.test (+14/-0)
mysql-test/suite/sys_vars/t/innodb_lra_size_basic-master.opt (+1/-0)
mysql-test/suite/sys_vars/t/innodb_lra_size_basic.test (+14/-0)
mysql-test/suite/sys_vars/t/innodb_lra_sleep_basic.test (+14/-0)
mysql-test/suite/sys_vars/t/innodb_lra_test_basic-master.opt (+1/-0)
mysql-test/suite/sys_vars/t/innodb_lra_test_basic.test (+8/-0)
storage/innobase/btr/btr0cur.cc (+1/-0)
storage/innobase/btr/btr0pcur.cc (+26/-18)
storage/innobase/buf/buf0rea.cc (+33/-10)
storage/innobase/fil/fil0fil.cc (+8/-3)
storage/innobase/handler/ha_innodb.cc (+61/-0)
storage/innobase/include/btr0pcur.h (+3/-2)
storage/innobase/include/btr0pcur.ic (+51/-17)
storage/innobase/include/buf0rea.h (+37/-0)
storage/innobase/include/fil0fil.h (+5/-2)
storage/innobase/include/os0file.h (+24/-6)
storage/innobase/include/os0file.ic (+6/-2)
storage/innobase/include/srv0srv.h (+42/-0)
storage/innobase/include/trx0trx.h (+96/-1)
storage/innobase/os/os0file.cc (+99/-9)
storage/innobase/row/row0purge.cc (+9/-0)
storage/innobase/row/row0sel.cc (+319/-0)
storage/innobase/srv/srv0srv.cc (+9/-0)
storage/innobase/trx/trx0trx.cc (+123/-0)
Branch information
- Owner:
- Vlad Lesin
- Status:
- Development
Recent revisions
- 578. By Vlad Lesin
-
Add mysqldump support for logical read ahead
Summary:
Adds options to mysqldump:
--lra-size=X
--lra-sleep=X
--lra-n-node- recs-before- sleep=X These just inject SET statements to set these session variables.
The original implementation is here:
https://github. com/facebook/ mysql-5. 6/commit/ f69a4ea522bce24 e4cdcc7696d5fad 29587cf87a - 577. By Vlad Lesin
-
When the session variable innodb_lra_size is set to N, we issue async
read requests for the next M logical pages where the total size of the M
pages on disk is N megabytes. The max allowed value of innodb_lra_size
is is 16384 which corresponds to prefetching 16GB of data. We may choose
to use smaller values in production.The original implementation can be found here:
https://github. com/facebook/ mysql-5. 6/commit/ f8e361952612d00 979f7cf744f487e 48b15cb5a6 This implementation does not contain code for flashcahe.
- 576. By Vlad Lesin
-
Merge aio page read requests
Summary:
Tries to submit multiple aio page read requests together to improve read
performance.The original code and description can be found here:
https://github. com/facebook/ mysql-5. 6/commit/ f9d1a5332eb2c82 c028638d3b93b5a 3592a69ffa The difference between this and the original implementation is that fil_io()
macros invokes _fil_io() function with enabled io's buffering by default in
the original implementation, it can cause the errors connected with waiting
io finishing just after fil_io() invocation.For example log_archive_do() waits io's finishing on log_sys-
>archive_ lock
mutex, but the mutex is not being unlocked as io's were buffered and
uncommited and io_handler_thread() does not process io's completion in
fil_aio_wait(). Potentially there can be the same errors so io's buffering
is disabled by default and will be enabled only for logical readahead code. - 572. By Laurynas Biveinis
-
Automerge lp:~laurynas-biveinis/percona-server/tokudb-clustering-query-opt
- 569. By Jenkins Master <email address hidden>
-
Merge lp:~hrvojem/percona-server/rn-5.6.16-64.2-tokudb-5.6
http://jenkins. percona. com/job/ merge-PS- 5.6-docs- kickoff/ 43/
Branch metadata
- Branch format:
- Branch format 7
- Repository format:
- Bazaar repository format 2a (needs bzr 1.16 or later)
- Stacked on:
- lp:percona-server/5.6