Merge lp:~laurynas-biveinis/percona-server/xtradb-preflush-backoff into lp:percona-server/5.6
Status: | Merged |
---|---|
Approved by: | Sergei Glushchenko |
Approved revision: | no longer in the source branch. |
Merged at revision: | 454 |
Proposed branch: | lp:~laurynas-biveinis/percona-server/xtradb-preflush-backoff |
Merge into: | lp:percona-server/5.6 |
Diff against target: |
238 lines (+136/-17) 7 files modified
Percona-Server/mysql-test/suite/sys_vars/r/innodb_foreground_preflush_basic.result (+23/-0) Percona-Server/mysql-test/suite/sys_vars/t/innodb_foreground_preflush_basic.test (+30/-0) Percona-Server/storage/innobase/handler/ha_innodb.cc (+25/-0) Percona-Server/storage/innobase/include/buf0types.h (+11/-0) Percona-Server/storage/innobase/include/srv0srv.h (+2/-0) Percona-Server/storage/innobase/log/log0log.cc (+41/-17) Percona-Server/storage/innobase/srv/srv0srv.cc (+4/-0) |
To merge this branch: | bzr merge lp:~laurynas-biveinis/percona-server/xtradb-preflush-backoff |
Related bugs: | |
Related blueprints: |
Backoff for sync preflushes
(High)
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Sergei Glushchenko (community) | g2 | Approve | |
Vadim Tkachenko | Approve | ||
Review via email: mp+189086@code.launchpad.net |
Description of the change
http://
Implement query thread waits at the sync preflush point, blueprint
https:/
Whenever a query thread needs to perform a sync preflush to proceed,
two options are now available:
1) as previously, the query thread may issue a flush list batch itself
and wait for it to complete. This is also used whenever the page
cleaner thread is not running.
2) alternatively the query thread may wait until the flush list flush
is performed by the page cleaner thread. The wait is implemented by
maintaining a wait iteration counter, and a random duration sleep of up
to two to power of loop counter value is performed. To prevent
runaway sleeps, the counter is reset every 16 iterations.
The behavior is controlled by a new system variable
innodb_
and "exponential_
LGTM