Bug #41606 ndb_mgmd should warn that --reload is needed.
Submitted: 18 Dec 2008 22:21 Modified: 9 Apr 2014 8:21
Reporter: Jonathan Miller Email Updates:
Status: Can't repeat Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S3 (Non-critical)
Version:mysql-5.1-telco-7.0 OS:Linux
Assigned to: Magnus Blåudd CPU Architecture:Any

[18 Dec 2008 22:21] Jonathan Miller
Description:
Once you have started ndb_mgmd with the -f option, it reads the configuration and the creates the bin file in MYSQLCLUSTERDIR if --configdir is not present.

Changing the origianl config.ini and restarting the ndb_MGMD in the same way (i.e. -f) the changes are ignored and the management node is restarted using the saved binary configuration file. 

There are no warnings other then just stating it has used the saved bin file to start with.

How to repeat:
See above

Suggested fix:
On start, if -f is present on the command line, the management node should compare to saved configuration. If there is a diff it should do one of the following.

1) Print a message stating that it saw the difference and ignored it. That if the admin wants to apply changes to restart using the --reload option

or

2) Should just apply the changes

or

3) Prompt the admin if they want the changes applied.
[10 Jan 2009 13:06] Jon Stephens
By default, beginning with NDB-6.4.0, the config-file (config.ini, my.cnf, or whatever) isn't read at all unless one of the following is true:

1. The --reload option is used.

2. The --initial option is used.

3. There are no binary configs stored in --configdir (which should be actually be "--config-dir", see Bug#42013).

Issuing the message as Jeb is requesting would require reading the configuration file every time the management server is started, which would just revert to the old behaviour and thus defeat the purpose of having a stateful configuration.

Therefore, I conclude that this is Not A Bug.
[10 Jan 2009 14:01] Jon Stephens
However, there is another problem.
The management server reports that it loaded the saved config even when it didn't.

Example: I have 3 binary configs in the mysql-cluster directory (ndb_10_config.bin.1, ndb_10_config.bin.2, and ndb_10_config.bin.3). I start ndb_mgmd -f ~/config.ini --reload. The output of ndb_mgm -e SHOW shows that the new configuration was used (I changed the number of data nodes, so it was really obvious), and a new file ndb_10_config.bin.4 is created. However, the management server reports the following:

2009-01-10 14:51:56 [MgmSrvr] INFO     -- NDB Cluster Management Server. mysql-5.1.30 ndb-6.4.1-beta
2009-01-10 14:51:56 [MgmSrvr] INFO     -- Loaded config from '/home/jon/bin/mysql-5.1-telco-6.4/mysql-cluster/ndb_10_config.bin.3'

So I'm setting this bug back to Verified but hijacking it, because the management server is clearly lying about what it's doing. :)
[9 Apr 2014 8:21] Magnus Blåudd
Not enough information was provided for us to be able to handle this bug. Please re-read the instructions at http://bugs.mysql.com/how-to-report.php

If you can provide more information, feel free to add it to this bug and change the status back to 'Open'.

Thank you for your interest in MySQL.