Bug #17150 Cluster doesn't allow max number of connections
Submitted: 6 Feb 2006 11:13 Modified: 17 May 2006 13:18
Reporter: Jörg Nowak Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S2 (Serious)
Version:4.1, 5.0, 5.1 OS:Linux (Linux Suse 9, 64 bit)
Assigned to: Jonas Oreland CPU Architecture:Any

[6 Feb 2006 11:13] Jörg Nowak
Description:
We found the following problem during load tests with MySQL Cluster.

Our config.ini:
----------------------------------
[COMPUTER DEFAULT]

[API DEFAULT]

# TCP/IP Options
[TCP DEFAULT]
PortNumber: 61004

# Management Server
[NDB_MGMD DEFAULT]
PortNumber: 1801
DataDir=/var/lib/CLUSTER_MGM_NODES/PDB2

[NDB_MGMD]
Id=1
hostName=10.1.2.44
DataDir=/var/lib/CLUSTER_MGM_NODES/PDB2
PortNumber: 1801
ArbitrationRank: 2

[NDBD DEFAULT]
NoOfReplicas: 2
DataMemory: 1G
IndexMemory: 500M
Diskless: 0
StopOnError: Y
NoOfFragmentLogFiles: 32
TimeBetweenGlobalCheckpoints: 4000
MaxNoOfAttributes = 3000

# SQL Node
[MYSQLD]
Id=10
HostName=x.x.x.25
# Data Nodes
[NDBD]
Id=2
HostName=x.x.x.25
FileSystemPath: /locA/db/node2/

[NDBD]
Id=3
HostName=x.x.x.26
FileSystemPath: /locA/db/node3/

[NDBD]
Id=5
HostName=x.x.x.26
FileSystemPath: /locA/db/node5/

# Data Nodes
[NDBD]
Id=4
HostName=x.x.x.25
FileSystemPath: /locA/db/node4/

# Data Nodes
[NDBD]
Id=6
HostName=x.x.x.34
FileSystemPath: /locA/db/node6/

# Data Nodes
[NDBD]
Id=8
HostName=x.x.x.34
FileSystemPath: /locA/db/node8/

[NDBD]
Id=7
HostName=x.x.x.24
FileSystemPath: /locA/db/node7/

[NDBD]
Id=9
HostName=x.x.x.24
FileSystemPath: /locA/db/node9/

# Data Nodes
[API]
Id=11
HostName=x.x.x.44

[API]
Id=12
HostName=x.x.x.44

[API]
Id=13
HostName=x.x.x.44

[API]
Id=14
HostName=x.x.x.44

[API]
Id=15
HostName=x.x.x.44

[API]
Id=16
HostName=x.x.x.44

[API]
Id=17
HostName=x.x.x.44

[API]
Id=18
HostName=x.x.x.44

[API]
Id=19
HostName=x.x.x.44

[API]
Id=20
HostName=x.x.x.44

[API]
Id=21
HostName=x.x.x.44

[API]
Id=22
HostName=x.x.x.44

[API]
Id=23
HostName=x.x.x.61

[API]
Id=24
HostName=x.x.x.61

[API]
Id=25
HostName=x.x.x.61

[API]
Id=26
HostName=x.x.x.61

[API]
Id=27
HostName=x.x.x.61

[API]
Id=28
HostName=x.x.x.61

[API]
Id=29
HostName=x.x.x.61

[API]
Id=30
HostName=x.x.x.61

[API]
Id=31
HostName=x.x.x.61

[API]
Id=32
HostName=x.x.x.61

[API]
Id=33
HostName=x.x.x.61

[API]
Id=34
HostName=x.x.x.61

[API]
Id=35
HostName=x.x.x.61

[API]
Id=36
HostName=x.x.x.61

[API]
Id=37
HostName=x.x.x.61

[API]
Id=38
HostName=x.x.x.62

[API]
Id=39
HostName=x.x.x.62

[API]
Id=40
HostName=x.x.x.62

[API]
Id=41
HostName=x.x.x.62

[API]
Id=42
HostName=x.x.x.62

[API]
Id=43
HostName=x.x.x.62

[API]
Id=44
HostName=x.x.x.62

[API]
Id=45
HostName=x.x.x.62

[API]
Id=46
HostName=x.x.x.62

[API]
Id=47
HostName=x.x.x.62

[API]
Id=48
HostName=x.x.x.62

[API]
Id=49
HostName=x.x.x.62

[API]
Id=50
HostName=x.x.x.62

[API]
Id=51
HostName=x.x.x.62

[API]
Id=52
HostName=x.x.x.62

[API]
Id=53
HostName=x.x.x.102

[API]
Id=54
HostName=x.x.x.109

[API]
Id=55
HostName=x.x.x.111

[API]
Id=56
HostName=x.x.x.112

[API]
Id=57
HostName=x.x.x.244

[API]
Id=58
HostName=x.x.x.113

[API]
Id=59
HostName=x..x.114

[API]
Id=60
HostName=x.x.x.80

[API]
Id=61
HostName=x.x.x.82

[API]
Id=62
HostName=x.x.x.85
-------------------------------------

If we try do connect to more than 27 API (+ 1 connection to mysqld is always running) the connection of more API fails with :
Error in mgm protocol parser. cmd:>get nodeid< status:2 curr: -1081427348

How to repeat:
Configure a cluster with many API and try to connect all of them.

For us is the bug critical because we are not able to perform the load tests with full load.

Suggested fix:
It should be possible to connect to all API (# of nodes <=63)
[26 Apr 2006 12:00] Geert Vanderkelen
Verified using latest pull from BK 5.0 and 5.1 (on a Linux 64bit box):

Only 21 NDBAPI clients can connect. I have a configuration with 1 ndb_mgmd, 1 ndbd and 1 mysqld(API) connected before starting 61 other NDBAPI clients.
[26 Apr 2006 12:56] 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/5568
[2 May 2006 20:36] Tomas Ulin
approved
[4 May 2006 20:52] Jonas Oreland
pushed into 5.1.10
[8 May 2006 11:11] 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/6094
[17 May 2006 6:41] Tomas Ulin
pushed to 5.0.22
[17 May 2006 7:51] Tomas Ulin
pushed to 4.1.20, 5.0.22, 5.1.10
[17 May 2006 13:18] 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 bugfix, yourself. More information 
about accessing the source trees is available at
    http://www.mysql.com/doc/en/Installing_source_tree.html

Additional info:

Documented bugfix in 4.1.20/5.0.22/5.1.10 changelogs. Closed.