Bug #73758 Long time before API starts making use of newly started data nodes
Submitted: 28 Aug 2014 14:07 Modified: 8 Sep 2014 10:15
Reporter: Mikael Ronström Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Cluster: NDB API Severity:S3 (Non-critical)
Version:7.4.0 OS:Any
Assigned to: CPU Architecture:Any

[28 Aug 2014 14:07] Mikael Ronström
Description:
When a new node starts the API nodes are allowed to connect on TCP/IP level when
we're in start phase 8. The API node immediately connects at this time whereafter they
immediately send an API_REGREQ to register the interest in using the data node for
executing transactions. The data node is however not ready for this yet. This means
that the API node will wait until the next heartbeat interval (1.5 seconds by default
and 30 seconds by default in our test suites) before it tries again to get the
admission to use the new data node.

How to repeat:
testNodeRestart -n MixedPkRead T13

Suggested fix:
Send API_REGREQ faster in this state, or possibly even allow the node to start using the
data node for transactions already in this phase.
[8 Sep 2014 10:15] 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.

As this issue/fix doesn't appear in a release, no changelog entry is required. Closed without further action.

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
[11 Nov 2014 13:11] Jon Stephens
Documented fix in the NDB 

    When a new data node started, API nodes were allowed to attempt to
    register themselves with the data node for executing transactions before
    the data node was ready. This forced the API node to wait an extra
    heartbeat interval before trying again.

    To address this issue, a number of No Connection errors have been
    changed to temporary errors, which should allow API nodes to use new
    data nodes more quickly than previously. As part of this fix, some
    errors which were incorrectly categorised have been moved into the
    correct categories, and some errors which are no longer used have been
    removed.

No change in status (bug was already closed).
[11 Nov 2014 13:12] Jon Stephens
The first portion of the previous comment should have read:

"Documented fix in the NDB 7.1.34, 7.2.19, 7.3.9, and 7.4.1 changelogs, as follows:"
[24 Feb 2016 16:14] Jon Stephens
Bug was fixed in NDB 7.3.8, typo in previous comment.