Bug #29067 Incorrect order during redo invalidation(Error while reading REDO log)
Submitted: 13 Jun 2007 9:45 Modified: 4 Jul 2007 9:09
Reporter: Jonas Oreland Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S3 (Non-critical)
Version:4.1,5.0,5.1 OS:Any
Assigned to: Jonas Oreland CPU Architecture:Any

[13 Jun 2007 9:45] Jonas Oreland
Description:
last completed GCI is on page X
pages until X+Y needs to be invalidated

invalidation is done from X+1 until loglap is "incorrect", stepping one page _forward_ at a time

if node is killed at Z < X+Y, next restart will not invalidate the remaining pages from Z to X+Y
and a subsequent restart can get incorrect redo.

How to repeat:
create_tab T1
hugoLoad -r 1000 T1
hugoScanUpdate -l 100 T1
ndb_mgm -e "all dump 7090 30000"
hugoScanUpdate -l 150 T1
ndb_mgm -e "all restart -a -n"
ndb_waiter --not-started
ndb_mgm -e "all error 5047"
ndb_mgm -e "all start"
ndb_waiter
hugoScanUpdate -l 100 T1
ndb_mgm -e "all restart -a"
ndb_waiter
ndb_drop_table T1

Suggested fix:
scan forward until X+Y (i.e loglap is "incorrect")
invalidate backward until X+1
[29 Jun 2007 17:12] Jon Stephens
Documented bugfix for telco-6.1.16 release, left status in PP for mainline fixes.
[2 Jul 2007 12:51] Jonas Oreland
pushed to 50-ndb, drop5/6 51-ndb, 51-telco, telco-6.1
[3 Jul 2007 6:23] Jon Stephens
Also documented for telco-6.2.3 release.
[3 Jul 2007 18:57] Bugs System
Pushed into 5.1.21-beta
[4 Jul 2007 9:09] Jon Stephens
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 bug fix. More information about accessing the source trees is available at

    http://dev.mysql.com/doc/en/installing-source.html

Documented bugfix in 5.1.21 changelog.
[10 Jul 2007 13:29] Bugs System
Pushed into 5.0.46