Bug #28445 Heartbeat does not start until first API_REGREQ is recevied
Submitted: 15 May 2007 14:11 Modified: 14 Dec 2007 20:56
Reporter: Jonas Oreland Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S3 (Non-critical)
Version:5.1 OS:Any
Assigned to: Jonas Oreland CPU Architecture:Any

[15 May 2007 14:11] Jonas Oreland
Description:
Currently the heartbeat start when receiving first API_REGREQ
That means that there is a short interval that if 
api/ndb_mgmd reboots or network failure occurs, the DB-node will not detect
this and have a lingering connection.

How to repeat:
.

Suggested fix:
enable heartbeat already on execCONNECT_REP
[30 May 2007 20:01] 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/27729

ChangeSet@1.2150, 2007-05-30 22:01:18+02:00, jonas@perch.ndb.mysql.com +4 -0
  ndb - bug#28445
    start hb already on connect, not on first received hb
[21 Jun 2007 7: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/29233

ChangeSet@1.2153, 2007-06-21 09:03:01+02:00, jonas@perch.ndb.mysql.com +2 -0
  ndb - bug#28445 - fix in fix
    Init datastructures in constructor
    as CONNECT_REP may occur before start phases
[4 Jul 2007 20:25] 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/30330

ChangeSet@1.2156, 2007-07-04 22:24:59+02:00, jonas@perch.ndb.mysql.com +1 -0
  ndb - bug#28445 - fix a node recovery problem
    dont allow API/mysqld node to reconnect if we have not started yet (sp 8)
[23 Nov 2007 9:48] 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/38338

ChangeSet@1.2584, 2007-11-23 10:46:48+01:00, tomas@whalegate.ndb.mysql.com +4 -0
  bug#28445 - Heartbeat does not start until first API_REGREQ is recevied
  - move api failure handling into own method
  - add START_ORD so that hb checking can start really early
[14 Dec 2007 17:08] Bugs System
Pushed into 5.1.23-rc
[14 Dec 2007 17:09] Bugs System
Pushed into 6.0.5-alpha
[14 Dec 2007 20:56] 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 the 5.1.23 and 6.0.5 changelogs as:

        There was a short interval during the startup process prior to
        the beginning of heartbeat detection such that, were an API or
        management node to reboot or a network failure to occur, data
        nodes could not detect this, with the result that there could be
        a lingering connection.