Bug #34211 | Innodb data file corruption | ||
---|---|---|---|
Submitted: | 1 Feb 2008 2:17 | Modified: | 30 Dec 2012 10:20 |
Reporter: | Mark Callaghan | Email Updates: | |
Status: | Can't repeat | Impact on me: | |
Category: | MySQL Server: InnoDB storage engine | Severity: | S3 (Non-critical) |
Version: | 5.0.37 | OS: | Any |
Assigned to: | Heikki Tuuri | CPU Architecture: | Any |
Tags: | corruption, dump, innodb, page |
[1 Feb 2008 2:17]
Mark Callaghan
[1 Feb 2008 13:46]
Heikki Tuuri
Mark, please show the .err log. Most of these reports are OS/driver/hardware problems. But some are due to InnoDB bugs. Regards, Heikki
[4 Apr 2008 23:00]
Bugs System
No feedback was provided for this bug for over a month, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open".
[7 Apr 2008 9:04]
Susanne Ebrecht
Mark, Heikki pasted his question internal by accident. Here is the question: Mark, is the .err log available somewhere? --Heikki
[7 May 2008 23:00]
Bugs System
No feedback was provided for this bug for over a month, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open".
[11 Oct 2009 16:33]
Edgar Fuß
As we are currently also facing one of these page checksum mismatch errors: Has anybody noted that in about half of the reported cases of checksum mismatches, the prior-to-4.0.14-form DOES match the stored value? Is that checksum just computed via a different algorithm or over a different part of the data set? If it's just a different algorithm: How likely is it that a hardware failure (these checksum mismatches seem to be routinely attributed to hardware issues) corrupts one checksum, but leaves the other intact? The server we are having the issue on has ECC RAM and data is on a software RAID.
[12 Oct 2009 16:21]
Mark Callaghan
The old checksum is computed over a few (10?, 20?) bytes at the head and tail of the page. The new checksum is computed over all of the page.
[28 Apr 2010 8:55]
James Day
Edgar, it's very likely if you have RAID. RAID will place a page so that part of the page is on one disk drive and part on another. If one drive loses a change (power loss or some other problem) then you can get a checksum mismatch. If the change is only to the data part then only the newer checksum value will detect the difference. It's much less likely that a single drive system will show one passing and one failing. How often a page will be split depends on the RAID stripe size. A 16k stripe size will split every page unless there is extremely careful aligning of stripe start position, that's usually not done. A 256k stripe size will split 2/16 pages. This also means that smaller stripe sizes can be very inefficient for reads and writes because the split cases require twice as many drive accesses as the unsplit ones. The best stripe size depends on the workload and system but it's more likely to be 256k or larger than smaller.
[30 Dec 2012 10:20]
MySQL Verification Team
Mark, am setting this to 'cant repeat' since the versions (4.0, 5.0) are far outdated by now.