Bug #41965 ndb_mgmd does not disconnect client after failed "transporter connect"
Submitted: 8 Jan 2009 14:30 Modified: 11 Feb 2009 16:40
Reporter: Magnus Blåudd Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S2 (Serious)
Version:6.2 OS:Any
Assigned to: Magnus Blåudd CPU Architecture:Any

[8 Jan 2009 14:30] Magnus Blåudd
Description:
While starting a transporter between ndbd and ndb_mgmd, the ndbd will normally first connect to the ndb_mgmd's port and issue the command "connect transporter", if the ndb_mgmd does not suceed in converting the connection to a transporter, it should disconnect the client. But that doe snot currently happen. Since this means we have different behaviour when a ndbd connects to a ndbd, we should make ndb_mgmd disconnect after failure to handle "connect transporter". If not disconnecting, the client will be hanging for "reead timeout" seconds, shich normally is set to 60.

How to repeat:
$ ndb_mgmd --nodaemon -f ../config.ini
NDB Cluster Management Server. mysql-5.1.30 ndb-6.2.17-GA
Id: 2, Command port: *:1186

$ telnet localhost 1186
transporter connect

23 99

<hang for 60 seconds>

Suggested fix:
Disconnect the client immediately after failing to convert socket to transporter.
[8 Jan 2009 14:36] 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/62699

2786 Magnus Svensson	2009-01-08
      Bug #41965  ndb_mgmd does not disconnect client after failed "transporter connect"
[9 Jan 2009 12:25] Bugs System
Pushed into 5.1.30-ndb-6.2.17 (revid:msvensson@mysql.com-20090108143549-wca0uz8cohwsxz82) (version source revid:msvensson@mysql.com-20090108143549-wca0uz8cohwsxz82) (merge vers: 5.1.30-ndb-6.2.17) (pib:6)
[9 Jan 2009 12:26] Bugs System
Pushed into 5.1.30-ndb-6.3.21 (revid:msvensson@mysql.com-20090108152514-y0rxk5kqbpjk1tg9) (version source revid:msvensson@mysql.com-20090108152514-y0rxk5kqbpjk1tg9) (merge vers: 5.1.30-ndb-6.3.21) (pib:6)
[9 Jan 2009 12:30] Bugs System
Pushed into 5.1.30-ndb-6.4.1 (revid:msvensson@mysql.com-20090109121748-t0gy78i6su7ntseu) (version source revid:msvensson@mysql.com-20090109121748-t0gy78i6su7ntseu) (merge vers: 5.1.30-ndb-6.4.1) (pib:6)
[10 Feb 2009 20:13] Bugs System
Pushed into 6.0.10-alpha (revid:alik@sun.com-20090210194937-s7xshv5l3m1v7wi9) (version source revid:tomas.ulin@sun.com-20090123110300-k3vjhnm1iop8c0h7) (merge vers: 6.0.10-alpha) (pib:6)
[11 Feb 2009 16:40] Jon Stephens
Documented in the NDB-6.2.17, 6.3.21, and 6.4.1 changelogs as follows:

        Formerly, the management server failed to create a transporter
        for a data node connection, read_timeout seconds elapsed before
        the data node was actually allowed to disconnect. Now in such
        cases the disconnection occurs immediately.