Bug #34596 Incorrect handling of upgrade from <6.3.8 to >= 6.3.8 wrt LCP
Submitted: 15 Feb 2008 14:26 Modified: 21 Feb 2008 10:34
Reporter: Jonas Oreland Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S3 (Non-critical)
Version: OS:Any
Assigned to: Jonas Oreland CPU Architecture:Any

[15 Feb 2008 14:26] Jonas Oreland
Description:
In 6.3.8 the no of saved LCP has been decreased from 3 to 2
Then a node > 6.3.8 started using a filesystem from 6.3.6 it can
incorrectly invalidate the the previous LCP to early during the restart
making it to fail.

How to repeat:
while true; do ~/src/6.3.7/storage/ndb/src/kernel/ndbd --initial ; create_tab T1; ndb_mgm -e "all dump 7017"; sleep 1; eval "hugoFill T1 &"; sleepr 3 15; ndb_mgm -e "all stop"; sleep 3; killall -9 ndbd; ~/src/6.3.7/storage/ndb/src/kernel/ndbd ; ndb_waiter; killall -9 ndbd; ~/src/telco-6.3/storage/ndb/src/kernel/ndbd; ndb_waiter; ndb_mgm -e "all stop -a"; sleep 1; killall -9 ndbd; done

Suggested fix:
wait with update nextLcp variable until sendLCP_FRAG_ORD
[17 Feb 2008 10:37] 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/42449

ChangeSet@1.2876, 2008-02-17 11:37:12+01:00, jonas@perch.ndb.mysql.com +1 -0
  ndb - bug#34596
    1) move updating of nextLcp to sendLCP_FRAG_ORD
    2) change impl. of findStartGci to check all LCPs not
       only take first that looks possible
[18 Feb 2008 13:47] Jon Stephens
Documented in the 5.1.23-ndb-6.3.10 changelog as follows:

        Due to the reduction of the number of local checkpoints from 3
        to 2 in MySQL 5.1.23-ndb-6.3.8, a data node using ndbd from
        MySQL 5.1.23-ndb-6.3.8 or later started using a filesystem from
        an earlier version could incorrectly invalidate local
        checkpoints too early during the startup process, causing the
        node to fail.

Left in PP status pending further merges.
[21 Feb 2008 9:20] Jonas Oreland
pushed to 6.3 (and released)
[21 Feb 2008 10:34] Jon Stephens
Already documented for ndb-6.3.10; closed.