Loading mysql-test/mysql-test-run.pl +5 −1 Original line number Diff line number Diff line Loading @@ -360,6 +360,10 @@ sub main () { if ( $opt_start_and_exit ) { if ( ndbcluster_start() ) { mtr_error("Can't start ndbcluster"); } if ( mysqld_start('master',0,[],[]) ) { mtr_report("Servers started, exiting"); Loading Loading @@ -1055,7 +1059,7 @@ sub ndbcluster_start () { "--data-dir=$glob_mysql_test_dir/var"], "", "/dev/null", "", "") ) { mtr_error("Error ndbcluster_install"); mtr_error("Error ndbcluster_start"); return 1; } Loading ndb/include/mgmapi/mgmapi.h +1 −0 Original line number Diff line number Diff line Loading @@ -376,6 +376,7 @@ extern "C" { int ndb_mgm_set_connectstring(NdbMgmHandle handle, const char *connect_string); int ndb_mgm_set_configuration_nodeid(NdbMgmHandle handle, int nodeid); int ndb_mgm_get_configuration_nodeid(NdbMgmHandle handle); int ndb_mgm_get_connected_port(NdbMgmHandle handle); const char *ndb_mgm_get_connected_host(NdbMgmHandle handle); Loading ndb/include/mgmcommon/ConfigRetriever.hpp +2 −0 Original line number Diff line number Diff line Loading @@ -55,6 +55,8 @@ public: */ Uint32 allocNodeId(int no_retries, int retry_delay_in_seconds); int setNodeId(Uint32 nodeid); /** * Get config using socket */ Loading ndb/src/common/mgmcommon/ConfigRetriever.cpp +6 −0 Original line number Diff line number Diff line Loading @@ -316,6 +316,12 @@ ConfigRetriever::verifyConfig(const struct ndb_mgm_configuration * conf, Uint32 return true; } int ConfigRetriever::setNodeId(Uint32 nodeid) { return ndb_mgm_set_configuration_nodeid(m_handle, nodeid); } Uint32 ConfigRetriever::allocNodeId(int no_retries, int retry_delay_in_seconds) { Loading ndb/src/kernel/vm/Configuration.cpp +9 −0 Original line number Diff line number Diff line Loading @@ -141,6 +141,8 @@ Configuration::init(int argc, char** argv) else _programName = strdup(""); globalData.ownId= 0; return true; } Loading Loading @@ -215,6 +217,13 @@ Configuration::fetch_configuration(){ ConfigRetriever &cr= *m_config_retriever; /** * if we have a nodeid set (e.g in a restart situation) * reuse it */ if (globalData.ownId) cr.setNodeId(globalData.ownId); globalData.ownId = cr.allocNodeId(2 /*retry*/,3 /*delay*/); if(globalData.ownId == 0){ Loading Loading
mysql-test/mysql-test-run.pl +5 −1 Original line number Diff line number Diff line Loading @@ -360,6 +360,10 @@ sub main () { if ( $opt_start_and_exit ) { if ( ndbcluster_start() ) { mtr_error("Can't start ndbcluster"); } if ( mysqld_start('master',0,[],[]) ) { mtr_report("Servers started, exiting"); Loading Loading @@ -1055,7 +1059,7 @@ sub ndbcluster_start () { "--data-dir=$glob_mysql_test_dir/var"], "", "/dev/null", "", "") ) { mtr_error("Error ndbcluster_install"); mtr_error("Error ndbcluster_start"); return 1; } Loading
ndb/include/mgmapi/mgmapi.h +1 −0 Original line number Diff line number Diff line Loading @@ -376,6 +376,7 @@ extern "C" { int ndb_mgm_set_connectstring(NdbMgmHandle handle, const char *connect_string); int ndb_mgm_set_configuration_nodeid(NdbMgmHandle handle, int nodeid); int ndb_mgm_get_configuration_nodeid(NdbMgmHandle handle); int ndb_mgm_get_connected_port(NdbMgmHandle handle); const char *ndb_mgm_get_connected_host(NdbMgmHandle handle); Loading
ndb/include/mgmcommon/ConfigRetriever.hpp +2 −0 Original line number Diff line number Diff line Loading @@ -55,6 +55,8 @@ public: */ Uint32 allocNodeId(int no_retries, int retry_delay_in_seconds); int setNodeId(Uint32 nodeid); /** * Get config using socket */ Loading
ndb/src/common/mgmcommon/ConfigRetriever.cpp +6 −0 Original line number Diff line number Diff line Loading @@ -316,6 +316,12 @@ ConfigRetriever::verifyConfig(const struct ndb_mgm_configuration * conf, Uint32 return true; } int ConfigRetriever::setNodeId(Uint32 nodeid) { return ndb_mgm_set_configuration_nodeid(m_handle, nodeid); } Uint32 ConfigRetriever::allocNodeId(int no_retries, int retry_delay_in_seconds) { Loading
ndb/src/kernel/vm/Configuration.cpp +9 −0 Original line number Diff line number Diff line Loading @@ -141,6 +141,8 @@ Configuration::init(int argc, char** argv) else _programName = strdup(""); globalData.ownId= 0; return true; } Loading Loading @@ -215,6 +217,13 @@ Configuration::fetch_configuration(){ ConfigRetriever &cr= *m_config_retriever; /** * if we have a nodeid set (e.g in a restart situation) * reuse it */ if (globalData.ownId) cr.setNodeId(globalData.ownId); globalData.ownId = cr.allocNodeId(2 /*retry*/,3 /*delay*/); if(globalData.ownId == 0){ Loading