Bug #51389 Node-failure during online upgrade from 6.2 to 6.3
Submitted: 22 Feb 2010 13:55 Modified: 23 Feb 2010 10:25
Reporter: Jonas Oreland Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S3 (Non-critical)
Version:mysql-5.1-telco-6.3 OS:Any
Assigned to: Jonas Oreland CPU Architecture:Any

[22 Feb 2010 13:55] Jonas Oreland
Description:
In 6.3, support for read-before-update-removal was added.
This introduced a change in dbtc/dblqh protocol so that
commit ack markers was added on each operation until
on LQH replied.

This code was not made upgrade-safe, so that a 6.3 node
could crash a 6.2 by issuing several commit ack markers
causing DBLQH to crash with internal error.

How to repeat:
run 6.2 to 6.3 upgrade with sufficiently big upgrade traffic
using transaction with more than 1 DML(insert/update/delete) per transaction.

Suggested fix:
Make 6.3 DBTC aware of old 6.2-nodes in cluster.
[22 Feb 2010 14:03] 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/101079

3097 Jonas Oreland	2010-02-22
      ndb - bug#51389 - fix commit ack marker handling wrt 62 to 63 upgrade
[22 Feb 2010 14:15] Jonas Oreland
pushed to 6.3.32
[22 Feb 2010 14:18] Jonas Oreland
Note: this bug fix also includes a fix for a crash in DBDIH::handle_invalid_lcp_no
[23 Feb 2010 10:25] Jon Stephens
Documented bugfix in the NDB-6.3.32 changelog as follows:

        During an online upgrade from MySQL Cluster NDB 6.2 to MySQL
        Cluster NDB 6.3, a sufficiently large amount of traffic with
        more than 1 DML operation per transaction could lead.an NDB 6.3
        data node to crash an NDB 6.2 data node with an internal error
        in the DBLOQH kernel block.

Closed.