Merge lp:~laurynas-biveinis/percona-server/bug1217002-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: | 590 | ||||
Proposed branch: | lp:~laurynas-biveinis/percona-server/bug1217002-5.1 | ||||
Merge into: | lp:percona-server/5.1 | ||||
Diff against target: |
308 lines (+173/-7) 9 files modified
Percona-Server/mysql-test/r/percona_server_variables_debug.result (+2/-0) Percona-Server/mysql-test/suite/innodb_plugin/r/percona_changed_page_bmp_debug.result (+14/-0) Percona-Server/mysql-test/suite/innodb_plugin/t/percona_changed_page_bmp_debug-master.opt (+1/-1) Percona-Server/mysql-test/suite/innodb_plugin/t/percona_changed_page_bmp_debug.test (+46/-0) Percona-Server/storage/innodb_plugin/fil/fil0fil.c (+5/-0) Percona-Server/storage/innodb_plugin/handler/ha_innodb.cc (+80/-3) Percona-Server/storage/innodb_plugin/log/log0recv.c (+2/-1) Percona-Server/storage/innodb_plugin/row/row0merge.c (+17/-2) Percona-Server/storage/innodb_plugin/srv/srv0srv.c (+6/-0) |
||||
To merge this branch: | bzr merge lp:~laurynas-biveinis/percona-server/bug1217002-5.1 | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Alexey Kopytov (community) | Approve | ||
Review via email: mp+184616@code.launchpad.net |
Description of the change
a QA blocker.
http://
Fix
- bug 1217002 (RENAME/DROP crashes with innodb_
- bug 1213885 (Failing assertion: error == DB_SUCCESS in file
handler0alter.cc line 4897 | abort in commit_
Both bugs are caused by a recent upstream change that makes
MLOG_FILE_RENAME to replay unconditionally whenever such log record is
parsed, which includes online log tracking.
Fix by
- asserting in fil_op_
is about to be executed, that recovery is on, and
- adjusting recv_parse_
space_id to fil_op_
non-zero space_id is what causes fil_op_
replay and not only parse the log record.
Changes for testing:
- backport from 5.5+ the debug-only innodb_
variable;
- make innodb_
only, to provide the ability to stop log tracking temporarily;
- add a new debug-only system variable innodb_
issues a synchronuous redo log parse request;
- add a new debug sync point to row_merge_
- use all of the above to add a testcase to
percona_