Bug #43874 ndb_mgmd --reload appears not to reload a changed ini file
Submitted: 26 Mar 2009 6:19 Modified: 7 Apr 2014 9:47
Reporter: jack andrews Email Updates:
Status: Not a Bug Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S2 (Serious)
Version:mysql-5.1-telco-7.0 OS:Any
Assigned to: Magnus Blåudd CPU Architecture:Any

[26 Mar 2009 6:19] jack andrews
Description:
**create a ndb_mgmd config like:

[NDBD DEFAULT]
NoOfReplicas= 1

[NDB_MGMD]
HostName= 192.168.1.99
datadir= /usr/local/mysql/mysql-cluster

[NDBD]
HostName= 192.168.1.5
datadir= /usr/local/mysql/mysql-cluster/ndbd

[MYSQLD]
[MYSQLD]
[MYSQLD]
[MYSQLD]
[MYSQLD]
[MYSQLD]
[MYSQLD]
[MYSQLD]
[MYSQLD]
[MYSQLD]

**then run ndb_mgmd:
$ storage/ndb/src/mgmsrv/ndb_mgmd --reload -f /usr/local/mysql/mysql-cluster/one.ini --ndb-nodeid=1
2009-03-26 15:30:08 [MgmSrvr] INFO     -- NDB Cluster Management Server. mysql-5.1.32 ndb-7.0.4-beta
2009-03-26 15:30:08 [MgmSrvr] INFO     -- Loaded config from '/usr/local/mysql/mysql-cluster/ndb_1_config.bin.2'
2009-03-26 15:30:08 [MgmSrvr] ERROR    -- The hostname this node should have according to the configuration does not match a local interface. Attempt to bind '192.168.1.99' failed with error: 99 'Cannot assign requested address'

**edit hostname and change to the correct IP address:
-HostName= 192.168.1.99
+HostName= 192.168.1.5

**and run mgmd again:
$ storage/ndb/src/mgmsrv/ndb_mgmd --reload -f /usr/local/mysql/mysql-cluster/one.ini --ndb-nodeid=1
2009-03-26 15:31:40 [MgmSrvr] INFO     -- NDB Cluster Management Server. mysql-5.1.32 ndb-7.0.4-beta
2009-03-26 15:31:40 [MgmSrvr] INFO     -- Loaded config from '/usr/local/mysql/mysql-cluster/ndb_1_config.bin.2'
2009-03-26 15:31:40 [MgmSrvr] ERROR    -- The hostname this node should have according to the configuration does not match a local interface. Attempt to bind '192.168.1.99' failed with error: 99 'Cannot assign requested address'

** notice it's still using old HostName

How to repeat:
see description
[19 Apr 2010 22:07] Kevin Benton
Had same issue while Chris Jeffus was sitting behind me watching on 7.0.13.
[7 Apr 2011 17:40] MySQL Verification Team
Kevin, In your case does the ndb_mgmd node not start at all with --reload or just keep loading the old config?

Please show relevant error logs from ndb_?_cluster.log 

Using: "ndb_mgmd -f config.ini --reload" I get and a failed ndb_mgmd startup even when the config.ini does exist in the $PWD.

2011-04-07 12:07:42 [MgmtSrvr] INFO     -- Loaded config from '/data/mysql/sandbox/7.1.10/mysql-cluster/ndb_1_config.bin.1'
2011-04-07 12:07:42 [MgmtSrvr] ERROR    -- Error opening 'config.ini', error: 2, No such file or directory
2011-04-07 12:07:42 [MgmtSrvr] ERROR    -- Could not load configuration from 'config.ini'

From "ndb_mgmd -f ./config.ini --initial" I get startup just fine
2011-04-07 12:07:57 [MgmtSrvr] INFO     -- Got initial configuration from 'config.ini', will try to set it when all ndb_mgmd(s) started

Using the full path to -f is a workaround for --reload.
[7 Apr 2011 19:24] Kevin Benton
Matt - sorry - it's been a year but if I remember correctly it just kept using the old version. When I did a rolling restart recently, I discovered that I had to remove binary versions of the configs before the system would try to load a new configuration.
[7 Feb 2013 17:43] David Sadowski
Same on 7.3.0 cluster - was throwing errors and didn't realod config.ini aftert IP change until removed .bin. files manually from config.ini folder :/
[7 Apr 2014 9:45] Magnus Blåudd
Posted by developer:
 
Looks like to different things reported here.

1) Read config.bin from disk and then try to load a faulty config.ini. No new config.bin is created and that is by design. Not a bug.

2) Read config.bin from disk when HostName of host can't be resolved anymore. Refuses to load config.bin.
[7 Apr 2014 9:47] Magnus Blåudd
Posted by developer:
 
Reported problem is not a bug, closing. There is a workaound for 2) by starting with --initial using a correct config.ini
[7 Apr 2014 9:47] Magnus Blåudd
Thank you for taking the time to write to us, but this is not a bug. Please double-check the documentation available at http://dev.mysql.com/doc/ and the instructions on
how to report a bug at http://bugs.mysql.com/how-to-report.php