| Bug #7973 | Index corruption on crash recovery of compact table | ||
|---|---|---|---|
| Submitted: | 17 Jan 2005 23:24 | Modified: | 25 Jan 2005 12:07 |
| Reporter: | Marko Mäkelä | ||
| Status: | Closed | ||
| Category: | Server: InnoDB | Severity: | S1 (Critical) |
| Version: | 5.0.3 | OS: | Any (all) |
| Assigned to: | Marko Mäkelä | Target Version: | |
[17 Jan 2005 23:24]
Marko Mäkelä
[18 Jan 2005 12:03]
Marko Mäkelä
It appears that the redo log entry MLOG_COMP_LIST_END_COPY_CREATED is written or parsed incorrectly.
[18 Jan 2005 16:45]
Marko Mäkelä
The bug seems to be in mlog_open_and_write_index(): it should only write n_uniq fields when a non-leaf B-tree page is being updated.
[25 Jan 2005 11:54]
Marko Mäkelä
Thank you for your bug report. This issue has been committed to our
source repository of that product and will be incorporated into the
next release.
If necessary, you can access the source repository and build the latest
available version, including the bugfix, yourself. More information
about accessing the source trees is available at
http://www.mysql.com/doc/en/Installing_source_tree.html
Additional info:
InnoDB now writes status bits to MLOG_COMP_REC_INSERT entries.
It is not safe to infer the status bits from the B-tree page
level, because after MLOG_COMP_LIST_END_COPY_CREATED, the
level will not be initialized before the records have been inserted.
[25 Jan 2005 12:07]
Marko Mäkelä
There are still problems with the test case that revealed this bug. See Bug #8128.
