| Bug #20855 | Crash recovery ignores MLOG_COMP_PAGE_REORGANIZE | ||
|---|---|---|---|
| Submitted: | 4 Jul 2006 21:41 | Modified: | 18 Jun 2010 23:07 |
| Reporter: | Marko Mäkelä | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: InnoDB storage engine | Severity: | S2 (Serious) |
| Version: | unreleased 5.2 | OS: | Any (all) |
| Assigned to: | Marko Mäkelä | CPU Architecture: | Any |
[4 Jul 2006 22:29]
Marko Mäkelä
Sorry, false alarm. The bug does not exist in MySQL/InnoDB 5.0 or 5.1; it only exists in our 5.2 development tree. You can see that the context of the patch differs.
[5 May 2010 15:03]
Bugs System
Pushed into 5.1.47 (revid:joro@sun.com-20100505145753-ivlt4hclbrjy8eye) (version source revid:vasil.dimov@oracle.com-20100331130613-8ja7n0vh36a80457) (merge vers: 5.1.46) (pib:16)
[6 May 2010 2:16]
Paul DuBois
Push resulted from incorporation of InnoDB tree. No changes pertinent to this bug. Re-closing.
[28 May 2010 6:10]
Bugs System
Pushed into mysql-next-mr (revid:alik@sun.com-20100524190136-egaq7e8zgkwb9aqi) (version source revid:vasil.dimov@oracle.com-20100331130613-8ja7n0vh36a80457) (pib:16)
[28 May 2010 6:38]
Bugs System
Pushed into 6.0.14-alpha (revid:alik@sun.com-20100524190941-nuudpx60if25wsvx) (version source revid:vasil.dimov@oracle.com-20100331130613-8ja7n0vh36a80457) (merge vers: 5.1.46) (pib:16)
[28 May 2010 7:06]
Bugs System
Pushed into 5.5.5-m3 (revid:alik@sun.com-20100524185725-c8k5q7v60i5nix3t) (version source revid:vasil.dimov@oracle.com-20100331130613-8ja7n0vh36a80457) (merge vers: 5.1.46) (pib:16)
[29 May 2010 15:22]
Paul DuBois
Push resulted from incorporation of InnoDB tree. No changes pertinent to this bug. Re-closing.
[17 Jun 2010 12:15]
Bugs System
Pushed into 5.1.47-ndb-7.0.16 (revid:martin.skold@mysql.com-20100617114014-bva0dy24yyd67697) (version source revid:vasil.dimov@oracle.com-20100331130613-8ja7n0vh36a80457) (merge vers: 5.1.46) (pib:16)
[17 Jun 2010 13:02]
Bugs System
Pushed into 5.1.47-ndb-6.2.19 (revid:martin.skold@mysql.com-20100617115448-idrbic6gbki37h1c) (version source revid:vasil.dimov@oracle.com-20100331130613-8ja7n0vh36a80457) (merge vers: 5.1.46) (pib:16)
[17 Jun 2010 13:43]
Bugs System
Pushed into 5.1.47-ndb-6.3.35 (revid:martin.skold@mysql.com-20100617114611-61aqbb52j752y116) (version source revid:vasil.dimov@oracle.com-20100331130613-8ja7n0vh36a80457) (merge vers: 5.1.46) (pib:16)

Description: MySQL/InnoDB does not replay redo log entries of the type MLOG_COMP_PAGE_REORGANIZE, which are generated by the function btr_page_reorganize() when invoked on a B-tree page belonging to a ROW_FORMAT=COMPACT table. All other redo log entry types should work properly. How to repeat: The bug is hard to repeat outside a debugger, setting breakpoints and forcing crash recovery. In practice, crash recovery should be needed very seldomly and btr_page_reorganize() should be invoked very rarely in MySQL/InnoDB 5.0. While it should be improbable for crash recovery to try to apply a redo log entry of the type MLOG_COMP_PAGE_REORGANIZE, users should be able to fully rely on InnoDB crash recovery. Suggested fix: Index: mtr/mtr0log.c =================================================================== --- mtr/mtr0log.c (revision 656) +++ mtr/mtr0log.c (working copy) @@ -536,7 +536,7 @@ mlog_parse_index( n_uniq = mach_read_from_2(ptr); ptr += 2; ut_ad(n_uniq <= n); - if (end_ptr < ptr + (n + 1) * 2) { + if (end_ptr < ptr + n * 2) { return(NULL); } } else {