Bug #20094 ndb_mgmd uses ndb-connectstring to get get PortNumber
Submitted: 26 May 2006 18:26 Modified: 14 Jul 2006 7:20
Reporter: Geert Vanderkelen Email Updates:
Status: No Feedback Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S3 (Non-critical)
Version:5.1.12 OS:Linux (Linux)
Assigned to: CPU Architecture:Any

[26 May 2006 18:26] Geert Vanderkelen
Description:

Starting an ndb_mgmd with a configuration file usign the -f option works OK. It doesn't when you have a ndb-connecstring with two management servers while the first one is running on another machine. (see how to repeat).

How to repeat:

51slave.ini contains following ndb_mgmd config:

[NDB_MGMD DEFAULT]
PortNumber= 1407
DataDir= /data1/users/geert/51slave/cluster

~/.my.cnf has following:
[mysql_cluster]
ndb-connectstring="ndbsup-priv-1:1406,ndbsup-priv-2:1406"

There is a ndb_mgmd running on ndbsup-priv-1:1406. When you start on ndbsup-priv-2 the ndb_mgmd like:
$ ./libexec/ndb_mgmd -f /users/gvanderkelen/cluster/51slave.ini

The ndb_mgmd will run on port 1406, and not 1407.
When you shutdown the ndb_mgmd on ndbsup-priv-1, and restart the ndb_mgmd on ndbsup-priv-2, it's works fine on port 1407.

Changing the ndb-connectstring to:
   ndb-connectstring="ndbsup-priv-1:1406"
doesn't give problems, even when the ndb_mgmd is running on ndbsup-priv:1406

Suggested fix:
Only use the PortNumber defined in the [NDB_MGMD] to start listening for connections, and don't use the ndb-connecstring?
[29 May 2006 13:39] Stewart Smith
Does the configuration file on the remote machine explicitly specify that this machine should run mgmd on 1407?

Since we can connect to the "master" mgmd, we get the config from there and use it. If it differs from what we have locally, then there is no error and the user will have to live with a bullet wound in their foot. Currently no bullet-proof shoes are provided (known issue).
[29 May 2006 15:00] Geert Vanderkelen
No, the remote ndb_mgmd has PortNumber 1406.

Things is, I expected the -f/--config-file overrule other options, which is how --defaults-file with mysqld works, and I guess most other apps.
[14 Jun 2006 7:20] Hartmut Holzgraefe
I'm not able to reproduce this with the current 5.1bk installation
on our custer dev machines, the ndb_mgmd processes pick up
whatever is in their local config.ini, or if i do not specify a config.ini
file on the 2nd ndb_mgmd then it takes the active configuration 
from the 1st ndb_mgmd. But i never see it pick the port number
from the connect string
[14 Jul 2006 23:00] Bugs System
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".