Bug #19352 WatchDog terminate error if MaxNoOfAttributes has great (but not max) value
Submitted: 25 Apr 2006 20:33 Modified: 8 Feb 2007 7:54
Reporter: Serge Kozlov Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S2 (Serious)
Version:4.1 -> OS:Linux (FC4)
Assigned to: li zhou CPU Architecture:Any

[25 Apr 2006 20:33] Serge Kozlov
Description:
Following error appears if set great value for MaxNoOfAttributes (50M for me). 

Time: Tuesday 25 April 2006 - 22:18:50
Status: Temporary error, restart node
Message: WatchDog terminate, internal error or massive overload on the machine running this node (Internal error, programming error or missing error message, pl
ease report a bug)
Error: 6050
Error data: Job Handling
Error object: WatchDog.cpp
Program: /home/ndbdev/skozlov/builds/libexec/ndbd
Pid: 17843
Trace: /space/run/ndb_2_trace.log.1
Version: Version 5.1.10 (beta)
***EOM***

How to repeat:
1. Set MaxNoOfAttributes=50M,DataMemory=500M in config.ini
2. Start cluster.

Suggested fix:
Probably cluster should return "memory allocation" error...
[22 Jun 2006 10:13] Jonas Oreland
could not repeat
probably swapping.
setting prio to 75
[27 Sep 2006 12:29] li zhou
Can't reproduct in 5.1
ndbd can't start up. the error message :

Time: Wednesday 27 September 2006 - 20:15:08
Status: Permanent error, external action needed
Message: Memory allocation failure, please decrease some configura
tion parameters (Configuration error)
Error: 2327
Error data: DBTUP could not allocate memory for TableDescriptor
Error object: Requested: 4x629150240 = 2516600960 bytes
Program: ./libexec/ndbd
Pid: 11873
Trace: /home/zhl/mysql/mysql-5.1/basedir/ndbdata1/ndb_2_trace.log.
1
Version: Version 5.1.12 (beta)
[29 Sep 2006 2:37] li zhou
There differents error messages in different version

in 5.0 main tree and ndb-bj tree, set DataMemory= 500M;IndexMemory= 200M;MaxNoOfAttributes= 50M
all the ndbd processes exist, but can't work. 

*********************************
sql$> ./ndb/src/mgmclient/ndb_mgm -e show
Connected to Management Server at: 172.16.70.138:9350
Cluster Configuration
---------------------
[ndbd(NDB)]     2 node(s)
id=2 (not connected, accepting connect from 172.16.70.138)
id=3 (not connected, accepting connect from 172.16.70.138)

[ndb_mgmd(MGM)] 1 node(s)
id=1    @172.16.70.138  (Version: 5.0.25)

[mysqld(API)]   1 node(s)
id=4 (not connected, accepting connect from 172.16.70.138)
***************************************
Time: Friday 29 September 2006 - 10:35:51
Status: Temporary error, restart node
Message: Error OS signal received (Internal error, programming error or missing error message, please report a bug)
Error: 6000
Error data: Signal 11 received; Segmentation fault
Error object: main.cpp
Program: ./ndb/src/kernel/ndbd
Pid: 30021
Trace: /home/zhl/mysql/mysql-5.0/basedir/ndbdata3/ndb_3_trace.log.3
Version: Version 5.0.25
********************************************

in 5.1 ndb-bj tree, set DataMemory= 500M;IndexMemory= 200M;MaxNoOfAttributes= 50M
all the ndbd processes die, and the error messages are correct.

*************************
Time: Friday 29 September 2006 - 10:08:32
Status: Permanent error, external action needed
Message: Memory allocation failure, please decrease some configuration parameters (Configuration error)
Error: 2327
Error data: DBTUP could not allocate memory for TableDescriptor
Error object: Requested: 4x629150240 = 2516600960 bytes
Program: ./storage/ndb/src/kernel/ndbd
Pid: 16449
Trace: /home/zhl/mysql/mysql-5.1/basedir/ndbdata1/ndb_2_trace.log.3
Version: Version 5.1.12 (beta)
*************************

in 5.1 ndb-bj tree, set DataMemory= 500M;IndexMemory= 200M;MaxNoOfAttributes= 25M
all the ndbd processes die, and the error messages are correct. but different with previous one.

***************************************
Time: Friday 29 September 2006 - 10:07:08
Status: Permanent error, external action needed
Message: Memory allocation failure, please decrease some configura
tion parameters (Configuration error)
Error: 2327
Error data: ArrayPool<T>::setSize malloc failed
Error object: ../../../../../storage/ndb/src/kernel/vm/ArrayPool.h
pp line: 247 (block: DBDICT)
Program: ./storage/ndb/src/kernel/ndbd
Pid: 16386
Trace: /home/zhl/mysql/mysql-5.1/basedir/ndbdata1/ndb_2_trace.log.
1
Version: Version 5.1.12 (beta)
[20 Oct 2006 5:34] li zhou
The same bug as Bug#19203
[1 Nov 2006 10:09] 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/14656

ChangeSet@1.2537, 2006-11-01 18:23:30+00:00, lzhou@dev3-138.dev.cn.tlan +1 -0
  BUG#19352 return exact error message when parameters overflow in 32-bit platform.
[8 Feb 2007 2:21] Jon Stephens
Need a 5.1.x version number for documenting, please.
[8 Feb 2007 5:56] li zhou
Have been pushed to maintree. 5.0.32 and 5.1.14
[8 Feb 2007 7:54] 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 bug fix. More information about accessing the source trees is available at

    http://dev.mysql.com/doc/en/installing-source.html

Documented in 5.0.32 and 5.1.14 changelogs.

Please advise if this was pushed to 4.1.x (with the exact version) and set back to Documenting if this is the case. Thanks.