Merge lp:~laurynas-biveinis/percona-server/tokudb-non-blocking-optimize into lp:percona-server/5.6
Status: | Rejected |
---|---|
Rejected by: | Laurynas Biveinis |
Proposed branch: | lp:~laurynas-biveinis/percona-server/tokudb-non-blocking-optimize |
Merge into: | lp:percona-server/5.6 |
Diff against target: |
85 lines (+28/-3) 4 files modified
sql/handler.cc (+10/-1) sql/handler.h (+6/-0) sql/mdl.cc (+4/-2) sql/sql_admin.cc (+8/-0) |
To merge this branch: | bzr merge lp:~laurynas-biveinis/percona-server/tokudb-non-blocking-optimize |
Related bugs: | |
Related blueprints: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Laurynas Biveinis (community) | Disapprove | ||
Registry Administrators | Pending | ||
Review via email: mp+202465@code.launchpad.net |
This proposal supersedes a proposal from 2014-01-03.
Description of the change
2nd MP:
Explicitly forbid returning HA_ADMIN_TRY_ALTER from optimize if SE supports online optimize, because it might deadlock.
Rebase on the current trunk.
http://
1st MP:
Add support for storage engines with online OPTIMIZE, implementing
https:/
The implementation is a combination of
https:/
and
https:/
It adds a new handler table flag HA_CAN_
executing OPTIMIZE, after opening the tables, the presence of this
flag is checked and the MDL lock is downgraded from
MDL_SHARED_
open instances of this table for other connections is skipped.
Adjust MDL_ticker:
MDL_SHARED_
http://
Unmerged revisions
- 535. By Laurynas Biveinis
-
Add support for storage engines with online OPTIMIZE, implementing
https://blueprints. launchpad. net/percona- server/ +spec/allow- writes- during- table-optimizat ion. The implementation is based on a combination of
https://github. com/Tokutek/ mysql56/ commit/ 1a321b6ae70f76d a3dc76c944014ba ab2b7ce1ae
and
https://github. com/Tokutek/ mysql56/ commit/ a701cea6de67c71 3d418a319a6a848 6da8e07ff2 It adds a new handler table flag HA_CAN_
WRITE_DURING_ OPTIMIZE. While
executing OPTIMIZE, after opening the tables, the presence of this
flag is checked and the MDL lock is downgraded from
MDL_SHARED_NO_READ_ WRITE to MDL_SHARED_WRITE, and the closing of any
open instances of this table for other connections is skipped.Adjust handler:
:ha_optimize( ) to assert that HA_ADMIN_TRY_ALTER return
value is incompatible with HA_CAN_WRITE_DURING_ OPTIMIZE. Adjust MDL_ticker:
:downgrade_ lock() to allow downgrades from
MDL_SHARED_NO_READ_ WRITE.
https:/ /github. com/Tokutek/ mysql56/ issues/ 68