Bug #17150 Cluster doesn't allow max number of connections
Submitted: 6 Feb 2006 12:13 Modified: 17 May 2006 15:18
Reporter: Jörg Nowak
Status: Closed
Category:Server: Cluster Severity:S2 (Serious)
Version:4.1, 5.0, 5.1 OS:Linux (Linux Suse 9, 64 bit)
Assigned to: Jonas Oreland Target Version:

[6 Feb 2006 12: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 14: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 14: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 22:36] Tomas Ulin
approved
[4 May 2006 22:52] Jonas Oreland
pushed into 5.1.10
[8 May 2006 13: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 8:41] Tomas Ulin
pushed to 5.0.22
[17 May 2006 9:51] Tomas Ulin
pushed to 4.1.20, 5.0.22, 5.1.10
[17 May 2006 15: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.