Description:
A cluster has two ndb_mgmd, and initially start both of them using NDB_CONNECTSTRING instead of config file. The second ndb_mgmd can not start with the following error message:
2008-12-02 14:04:26 [MgmSrvr] INFO -- NDB Cluster Management Server. mysql-5.1.29 ndb-6.4.0-alpha
2008-12-02 14:04:26 [MgmSrvr] INFO -- Trying to get configuration from other mgmd(s) using 'nodeid=2,nanna13:1186,nanna14:1186'...
2008-12-02 14:04:26 [MgmSrvr] INFO -- Connected...
ERROR Message: Could not fetch configuration
2008-12-02 14:04:26 [MgmSrvr] ERROR -- No error : Executing: ndb_mgm_get_configuration
2008-12-02 14:04:26 [MgmSrvr] ERROR -- Could not fetch config!
It is found out that config.bin.1 file is not generated for the first ndb_mgmd after it has been started as the initial start. (config.bin.1 is generated after both ndb_mgmd has been started.)So that the second ndb_mgmd can not get the configuration. (The second ndb_mgmd can be started using NDB_CONNECTSTRING when performing the restart with existing config.bin.1 of ndb_mgmd 1)
How to repeat:
config file
[NDB DEFAULT]
NoOfReplicas= 2
DataMemory= 600M
IndexMemory= 100M
BackupMemory= 64M
DataDir=/export/home/tmp/wx228566/ndbd
FileSystemPath=/export/home/tmp/wx228566/ndbd
[MGM DEFAULT]
PortNumber=1186
DataDir=/export/home/tmp/wx228566/ndb_mgmd.2
[NDB_MGMD]
Id= 1
HostName= nanna13
ArbitrationRank=1
[NDB_MGMD]
Id= 2
HostName= nanna14
ArbitrationRank=1
[NDBD]
Id= 3
HostName= nanna15
[NDBD]
Id= 4
HostName= nanna16
[MYSQLD]
[MYSQLD]
First, start ndb_mgmd Id: 1 using config.ini
${MYSQL_HOME}/libexec/ndb_mgmd -f <DataDir>config.ini -config-dir=<DataDir>
Then, start ndb_mgmd Id: 2 using NDB_CONNECTSTRING
${MYSQL_HOME}/libexec/ndb_mgmd --ndb-connectstring=nanna13, nanna14 --ndb-nodeid=2 --config-dir=<DataDir>