Bug #43695 Wrong error msg when NoOfFragmentLogFiles out of range
Submitted: 17 Mar 2009 9:56 Modified: 9 Feb 2010 8:53
Reporter: Mario Beck Email Updates:
Status: In progress Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S3 (Non-critical)
Version:mysql-5.1-telco-6.3 OS:Solaris
Assigned to: Assigned Account CPU Architecture:Any
Tags: mysql-5.1-telco-6.3.20, NoOfFragmentLogFiles
Triage: Triaged: D4 (Minor) / R1 (None/Negligible) / E1 (None/Negligible)

[17 Mar 2009 9:56] Mario Beck
Description:
When specifying NoOfFragmentLogFiles in config.ini with a value that is out of range, the error message at startup of ndb_mgmd is very misleading:

root@bern:~# ndb_mgmd --config-file=/etc/mysql-cluster.ini
Error line 18: Illegal value 2 for parameter NoOfFragmentLogFiles.
Legal values are between 3 and 0.
Error line 18: Could not parse name-value pair in config file.
Invalid configuration file: /etc/mysql-cluster.ini

I choose 2. This value is between 3 and 0. Probably the message means "between 3 and 1000" or some other upper limit. I could not find an upper limit in the reference manual.

How to repeat:
Define 

NoOfFragmentLogFiles=2

in config.ini and start ndb_mgmd with this config file.

Suggested fix:
Correct the error message.
[17 Mar 2009 10:39] Sveta Smirnova
Thank you for the report.

Verified as described.
[29 Apr 2009 9:45] jack andrews
a mystery, this is behaviour in latest 6.3 on linux:

$ storage/ndb/src/mgmsrv/ndb_mgmd -f tmp/nofrag.ini --nodaemon
Error line 2: Illegal value 2 for parameter NoOfFragmentLogFiles.
Legal values are between 3 and 4294967039
Error line 2: Could not parse name-value pair in config file.
Invalid configuration file: tmp/nofrag.ini
[29 Apr 2009 12:16] Mario Beck
I am speculating:
Can this be a 32bit/64bit problem?
The upper limit in your test is 2^32 - 255
I checked on Solaris SPARC 64 bit and the error message is correct.
Solaris x86 32 bit was the testcase of my bug report.
Solaris SPARC 32 bit is wrong as well:

	Error line 15: Illegal value 2 for parameter NoOfFragmentLogFiles.
	Legal values are between 0 and 3
	Error line 15: Could not parse name-value pair in config file.
	Invalid configuration file: mysql-cluster.ini

Funny, that on SPARC is says "between 0 and 3" and on x86 it says "between 3 and 0".

HTH.

Ciao,

Mario