Bug #54986 | Incorrect handling of LSN for empty pages | ||
---|---|---|---|
Submitted: | 4 Jul 2010 15:56 | Modified: | 12 Jul 2010 11:16 |
Reporter: | Jonas Oreland | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Cluster: Disk Data | Severity: | S3 (Non-critical) |
Version: | mysql-5.1-telco-6.2 | OS: | Any |
Assigned to: | Jonas Oreland | CPU Architecture: | Any |
[4 Jul 2010 15:56]
Jonas Oreland
[4 Jul 2010 16:13]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/112835 3113 Jonas Oreland 2010-07-04 ndb - bug#54986 - only set EMPTY_PAGE first time page is accessed in extent (to not reset LSN)
[4 Jul 2010 16:38]
Jonas Oreland
pushed to 6.2.19, 6.3.36, 7.0.17 and 7.1.6
[12 Jul 2010 11:16]
Jon Stephens
Documented bugfix in the NDB-6.2.19, 6.3.36, 7.0.17, and 7.1.6 changelogs, as follows: As an optimization when inserting a row to an empty page, the page is not read, but rather simply initialized. However, this optimzation was performed in all cases when an empty row was inserted, even though it should have been done only if it was the first time that the page had been used by a table or fragment. This is because, if the page had been in use, and then all records had been released from it, the page still needed to be read in order to learn its log sequence number (LSN). This caused problems only if the page had been flushed using an incorrect LSN and the data node failed before any local checkpoint was completed—which would removed any need to apply the undo log, hence the incorrect LSN was ignored. The user-visible result of the incorrect LSN was that it caused the data node to fail during a restart. It was perhaps also possible (although not conclusively proven) that this issue could lead to incorrect data. Closed.