Bug #61495 I can't set OverLoadLimit parameter in mysql cluster.
Submitted: 13 Jun 2011 0:04 Modified: 1 Jul 2011 14:26
Reporter: ws lee Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S3 (Non-critical)
Version:7.1.10 OS:Linux (CentOS 5.5)
Assigned to: CPU Architecture:Any

[13 Jun 2011 0:04] ws lee
Description:
I can't set OverLoadLimit parameter in mysql cluster.

How to repeat:
config.ini
------------------------------
[TCP DEFAULT]
SendBufferMemory=64M
OverLoadLimit=32M

[NDB_MGMD]
hostname=10.10.10.1
NodeID=1
[NDB_MGMD]
hostname=10.10.10.2
NodeID=2

[NDBD DEFAULT]
NoOfReplicas=2
DataMemory=12000M
IndexMemory=1000M

[NDBD]
hostname=10.10.10.3
NodeID=3
[NDBD]
hostname=10.10.10.4
NodeID=4

[MYSQLD]
hostname=10.10.10.5
NodeID=5
[MYSQLD]
hostname=10.10.10.6
NodeID=6
------------------------------

# /usr/local/bin/ndb_mgmd -f /usr/local/mysql/config.ini --configdir=/usr/local/mysql

MySQL Cluster Management Server mysql-5.1.51 ndb-7.1.10
2011-06-13 09:02:25 [MgmtSrvr] ERROR    -- at line 3: Illegal value 32M for parameter OverLoadLimit.
Legal values are between 0 and 0
2011-06-13 09:02:25 [MgmtSrvr] ERROR    -- at line 3: Could not parse name-value pair in config file.
2011-06-13 09:02:25 [MgmtSrvr] ERROR    -- Could not load configuration from '/usr/local/mysql/config.ini'
2011-06-13 09:02:25 [MgmtSrvr] ERROR    -- Could not determine which nodeid to use for this node. Specify it with --ndb-nodeid=<nodeid> on command line
[14 Jun 2011 15:51] Valeriy Kravchuk
Please, check if the same problem happens with a newer cluster version, 7.1.13. Also check if naming section in lower case, [tcp default], changes anything.
[15 Jun 2011 0:42] ws lee
To. Valeriy Kravchuk

In 7.1.13, I can't set OverLoadLimit parameter.
cat config.ini
---
...

[TCP DEFAULT]
SendBufferMemory=16M
OverLoadLimit=10M

...
---

/usr/local/mysql5.1.56-ndb7.1.13
/bin/ndb_mgmd -f /usr/local/mysql5.1.56-ndb7.1.13
/config.ini --configdir=/usr/local/mysql5.1.56-ndb7.1.13

MySQL Cluster Management Server mysql-5.1.56 ndb-7.1.13
2011-06-15 09:36:05 [MgmtSrvr] ERROR    -- at line 46: Illegal value 10M for parameter OverLoadLimit.
Legal values are between 0 and 0
2011-06-15 09:36:05 [MgmtSrvr] ERROR    -- at line 46: Could not parse name-value pair in config file.
2011-06-15 09:36:05 [MgmtSrvr] ERROR    -- Could not load configuration from '/usr/local/mysql5.1.56-ndb7.1.13/config.ini'
2011-06-15 09:36:05 [MgmtSrvr] ERROR    -- Could not determine which nodeid to use for this node. Specify it with --ndb-nodeid=<nodeid> on command line
[30 Jun 2011 16:51] MySQL Verification Team
Within the configuration variable definition the max value for this variable is defined as 0

./storage/ndb/src/mgmsrv/ConfigInfo.cpp

    CFG_CONNECTION_OVERLOAD,
    "OverloadLimit",
    "TCP",
    "Number of unsent bytes that must be in the send buffer before the\n"
    "connection is considered overloaded",
    ConfigInfo::CI_USED,
    false,
    ConfigInfo::CI_INT,
    "0",
    "0",
    "0" /* <-- MaxVal */

SHM and SCI versions of this variable have STR_VALUE(MAX_INT_RNIL) instead.
[30 Jun 2011 17:50] MySQL Verification Team
--- mysql-5.1-telco-7.0/storage/ndb/src/mgmsrv/ConfigInfo.cpp	2010-12-09 11:47:25.698299000 -0600
+++ mysql-5.1-telco-7.0-overload/storage/ndb/src/mgmsrv/ConfigInfo.cpp	2011-06-30 12:46:21.658142002 -0500
@@ -2534,7 +2534,7 @@
     ConfigInfo::CI_INT,
     "0",
     "0",
-    "0"
+    STR_VALUE(MAX_INT_RNIL)
   },
 
   /****************************************************************************
[1 Jul 2011 14:26] MySQL Verification Team
Documented bugfix as follows in the NDB 7.0.27 and 7.1.16 changelogs:

        The maximum effective value for the OverloadLimit configuration
        parameter was limited by the value of SendBufferMemory. Now the
        set value is used correctly, up to this parameter's stated
        maximum (4G).

Also noted this in the description of OverloadLimit in the Manual.

Closed.