Loading ndb/include/mgmcommon/ConfigRetriever.hpp +2 −15 Original line number Diff line number Diff line Loading @@ -28,7 +28,7 @@ */ class ConfigRetriever { public: ConfigRetriever(Uint32 version, Uint32 nodeType); ConfigRetriever(LocalConfig &local_config, Uint32 version, Uint32 nodeType); ~ConfigRetriever(); /** Loading @@ -54,16 +54,6 @@ public: const char * getErrorString(); /** * Sets connectstring which can be used instead of local config file */ void setConnectString(const char * connectString); /** * Sets name of local config file (usually not needed) */ void setLocalConfigFileName(const char * connectString); /** * @return Node id of this node (as stated in local config or connectString) */ Loading Loading @@ -93,12 +83,9 @@ private: void setError(ErrorType, const char * errorMsg); BaseString _localConfigFileName; struct LocalConfig _localConfig; struct LocalConfig& _localConfig; Uint32 _ownNodeId; BaseString m_connectString; Uint32 m_version; Uint32 m_node_type; NdbMgmHandle m_handle; Loading ndb/include/ndbapi/ndb_cluster_connection.hpp +2 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ #define CLUSTER_CONNECTION_HPP class TransporterFacade; class LocalConfig; class ConfigRetriever; class NdbThread; Loading @@ -37,6 +38,7 @@ private: void connect_thread(); char *m_connect_string; TransporterFacade *m_facade; LocalConfig *m_local_config; ConfigRetriever *m_config_retriever; NdbThread *m_connect_thread; int (*m_connect_callback)(void); Loading ndb/src/common/mgmcommon/ConfigRetriever.cpp +4 −21 Original line number Diff line number Diff line Loading @@ -45,8 +45,10 @@ //**************************************************************************** //**************************************************************************** ConfigRetriever::ConfigRetriever(Uint32 version, Uint32 node_type) { ConfigRetriever::ConfigRetriever(LocalConfig &local_config, Uint32 version, Uint32 node_type) : _localConfig(local_config) { m_handle= 0; m_version = version; m_node_type = node_type; Loading @@ -66,15 +68,6 @@ ConfigRetriever::~ConfigRetriever(){ int ConfigRetriever::init() { if (!_localConfig.init(m_connectString.c_str(), _localConfigFileName.c_str())){ setError(CR_ERROR, "error in retrieving contact info for mgmtsrvr"); _localConfig.printError(); _localConfig.printUsage(); return -1; } return _ownNodeId = _localConfig._ownNodeId; } Loading Loading @@ -230,16 +223,6 @@ ConfigRetriever::getErrorString(){ return errorString.c_str(); } void ConfigRetriever::setLocalConfigFileName(const char * localConfigFileName) { _localConfigFileName.assign(localConfigFileName ? localConfigFileName : ""); } void ConfigRetriever::setConnectString(const char * connectString) { m_connectString.assign(connectString ? connectString : ""); } bool ConfigRetriever::verifyConfig(const struct ndb_mgm_configuration * conf, Uint32 nodeid){ Loading ndb/src/kernel/main.cpp +11 −3 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ #include <ndb_version.h> #include "Configuration.hpp" #include <LocalConfig.hpp> #include <TransporterRegistry.hpp> #include "vm/SimBlockList.hpp" Loading Loading @@ -67,12 +68,19 @@ NDB_MAIN(ndb_kernel){ // Parse command line options Configuration* theConfig = globalEmulatorData.theConfiguration; if(!theConfig->init(argc, argv)){ return 0; return NRT_Default; } LocalConfig local_config; if (!local_config.init(theConfig->getConnectString(),0)){ local_config.printError(); local_config.printUsage(); return NRT_Default; } { // Do configuration signal(SIGPIPE, SIG_IGN); theConfig->fetch_configuration(); theConfig->fetch_configuration(local_config); } chdir(NdbConfig_get_path(0)); Loading Loading @@ -135,7 +143,7 @@ NDB_MAIN(ndb_kernel){ exit(0); } g_eventLogger.info("Ndb has terminated (pid %d) restarting", child); theConfig->fetch_configuration(); theConfig->fetch_configuration(local_config); } g_eventLogger.info("Angel pid: %d ndb pid: %d", getppid(), getpid()); Loading ndb/src/kernel/vm/Configuration.cpp +8 −3 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ #include <ndb_global.h> #include <LocalConfig.hpp> #include "Configuration.hpp" #include <ErrorHandlingMacros.hpp> #include "GlobalData.hpp" Loading Loading @@ -184,7 +185,7 @@ Configuration::closeConfiguration(){ } void Configuration::fetch_configuration(){ Configuration::fetch_configuration(LocalConfig &local_config){ /** * Fetch configuration from management server */ Loading @@ -192,8 +193,7 @@ Configuration::fetch_configuration(){ delete m_config_retriever; } m_config_retriever= new ConfigRetriever(NDB_VERSION, NODE_TYPE_DB); m_config_retriever->setConnectString(_connectString ? _connectString : ""); m_config_retriever= new ConfigRetriever(local_config, NDB_VERSION, NODE_TYPE_DB); if(m_config_retriever->init() == -1 || m_config_retriever->do_connect() == -1){ Loading Loading @@ -416,6 +416,11 @@ Configuration::setRestartOnErrorInsert(int i){ m_restartOnErrorInsert = i; } const char * Configuration::getConnectString() const { return _connectString; } char * Configuration::getConnectStringCopy() const { if(_connectString != 0) Loading Loading
ndb/include/mgmcommon/ConfigRetriever.hpp +2 −15 Original line number Diff line number Diff line Loading @@ -28,7 +28,7 @@ */ class ConfigRetriever { public: ConfigRetriever(Uint32 version, Uint32 nodeType); ConfigRetriever(LocalConfig &local_config, Uint32 version, Uint32 nodeType); ~ConfigRetriever(); /** Loading @@ -54,16 +54,6 @@ public: const char * getErrorString(); /** * Sets connectstring which can be used instead of local config file */ void setConnectString(const char * connectString); /** * Sets name of local config file (usually not needed) */ void setLocalConfigFileName(const char * connectString); /** * @return Node id of this node (as stated in local config or connectString) */ Loading Loading @@ -93,12 +83,9 @@ private: void setError(ErrorType, const char * errorMsg); BaseString _localConfigFileName; struct LocalConfig _localConfig; struct LocalConfig& _localConfig; Uint32 _ownNodeId; BaseString m_connectString; Uint32 m_version; Uint32 m_node_type; NdbMgmHandle m_handle; Loading
ndb/include/ndbapi/ndb_cluster_connection.hpp +2 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ #define CLUSTER_CONNECTION_HPP class TransporterFacade; class LocalConfig; class ConfigRetriever; class NdbThread; Loading @@ -37,6 +38,7 @@ private: void connect_thread(); char *m_connect_string; TransporterFacade *m_facade; LocalConfig *m_local_config; ConfigRetriever *m_config_retriever; NdbThread *m_connect_thread; int (*m_connect_callback)(void); Loading
ndb/src/common/mgmcommon/ConfigRetriever.cpp +4 −21 Original line number Diff line number Diff line Loading @@ -45,8 +45,10 @@ //**************************************************************************** //**************************************************************************** ConfigRetriever::ConfigRetriever(Uint32 version, Uint32 node_type) { ConfigRetriever::ConfigRetriever(LocalConfig &local_config, Uint32 version, Uint32 node_type) : _localConfig(local_config) { m_handle= 0; m_version = version; m_node_type = node_type; Loading @@ -66,15 +68,6 @@ ConfigRetriever::~ConfigRetriever(){ int ConfigRetriever::init() { if (!_localConfig.init(m_connectString.c_str(), _localConfigFileName.c_str())){ setError(CR_ERROR, "error in retrieving contact info for mgmtsrvr"); _localConfig.printError(); _localConfig.printUsage(); return -1; } return _ownNodeId = _localConfig._ownNodeId; } Loading Loading @@ -230,16 +223,6 @@ ConfigRetriever::getErrorString(){ return errorString.c_str(); } void ConfigRetriever::setLocalConfigFileName(const char * localConfigFileName) { _localConfigFileName.assign(localConfigFileName ? localConfigFileName : ""); } void ConfigRetriever::setConnectString(const char * connectString) { m_connectString.assign(connectString ? connectString : ""); } bool ConfigRetriever::verifyConfig(const struct ndb_mgm_configuration * conf, Uint32 nodeid){ Loading
ndb/src/kernel/main.cpp +11 −3 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ #include <ndb_version.h> #include "Configuration.hpp" #include <LocalConfig.hpp> #include <TransporterRegistry.hpp> #include "vm/SimBlockList.hpp" Loading Loading @@ -67,12 +68,19 @@ NDB_MAIN(ndb_kernel){ // Parse command line options Configuration* theConfig = globalEmulatorData.theConfiguration; if(!theConfig->init(argc, argv)){ return 0; return NRT_Default; } LocalConfig local_config; if (!local_config.init(theConfig->getConnectString(),0)){ local_config.printError(); local_config.printUsage(); return NRT_Default; } { // Do configuration signal(SIGPIPE, SIG_IGN); theConfig->fetch_configuration(); theConfig->fetch_configuration(local_config); } chdir(NdbConfig_get_path(0)); Loading Loading @@ -135,7 +143,7 @@ NDB_MAIN(ndb_kernel){ exit(0); } g_eventLogger.info("Ndb has terminated (pid %d) restarting", child); theConfig->fetch_configuration(); theConfig->fetch_configuration(local_config); } g_eventLogger.info("Angel pid: %d ndb pid: %d", getppid(), getpid()); Loading
ndb/src/kernel/vm/Configuration.cpp +8 −3 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ #include <ndb_global.h> #include <LocalConfig.hpp> #include "Configuration.hpp" #include <ErrorHandlingMacros.hpp> #include "GlobalData.hpp" Loading Loading @@ -184,7 +185,7 @@ Configuration::closeConfiguration(){ } void Configuration::fetch_configuration(){ Configuration::fetch_configuration(LocalConfig &local_config){ /** * Fetch configuration from management server */ Loading @@ -192,8 +193,7 @@ Configuration::fetch_configuration(){ delete m_config_retriever; } m_config_retriever= new ConfigRetriever(NDB_VERSION, NODE_TYPE_DB); m_config_retriever->setConnectString(_connectString ? _connectString : ""); m_config_retriever= new ConfigRetriever(local_config, NDB_VERSION, NODE_TYPE_DB); if(m_config_retriever->init() == -1 || m_config_retriever->do_connect() == -1){ Loading Loading @@ -416,6 +416,11 @@ Configuration::setRestartOnErrorInsert(int i){ m_restartOnErrorInsert = i; } const char * Configuration::getConnectString() const { return _connectString; } char * Configuration::getConnectStringCopy() const { if(_connectString != 0) Loading