Loading ndb/include/mgmapi/mgmapi.h +8 −0 Original line number Diff line number Diff line Loading @@ -469,6 +469,14 @@ extern "C" { */ void ndb_mgm_destroy_handle(NdbMgmHandle * handle); /** * Set a name of the handle. Name is reported in cluster log. * * @param handle Management handle * @param name Name */ void ndb_mgm_set_name(NdbMgmHandle handle, const char *name); /** @} *********************************************************************/ /** * @name Functions: Connect/Disconnect Management Server Loading ndb/include/ndbapi/ndb_cluster_connection.hpp +8 −0 Original line number Diff line number Diff line Loading @@ -40,6 +40,14 @@ public: Ndb_cluster_connection(const char * connectstring = 0); ~Ndb_cluster_connection(); /** * Set a name on the connection, which will be reported in cluster log * * @param name * */ void set_name(const char *name); /** * Connect to a cluster management server * Loading ndb/src/mgmapi/mgmapi.cpp +13 −0 Original line number Diff line number Diff line Loading @@ -102,6 +102,7 @@ struct ndb_mgm_handle { FILE* logfile; #endif FILE *errstream; char *m_name; }; #define SET_ERROR(h, e, s) setError(h, e, __LINE__, s) Loading Loading @@ -156,6 +157,7 @@ ndb_mgm_create_handle() h->write_timeout = 100; h->cfg_i = -1; h->errstream = stdout; h->m_name = 0; strncpy(h->last_error_desc, "No error", NDB_MGM_MAX_ERR_DESC_SIZE); Loading @@ -170,6 +172,14 @@ ndb_mgm_create_handle() DBUG_RETURN(h); } extern "C" void ndb_mgm_set_name(NdbMgmHandle handle, const char *name) { my_free(handle->m_name, MYF(MY_ALLOW_ZERO_PTR)); handle->m_name= my_strdup(name, MYF(MY_WME)); } extern "C" int ndb_mgm_set_connectstring(NdbMgmHandle handle, const char * mgmsrv) Loading Loading @@ -216,6 +226,7 @@ ndb_mgm_destroy_handle(NdbMgmHandle * handle) } #endif (*handle)->cfg.~LocalConfig(); my_free((*handle)->m_name, MYF(MY_ALLOW_ZERO_PTR)); my_free((char*)* handle,MYF(MY_ALLOW_ZERO_PTR)); * handle = 0; DBUG_VOID_RETURN; Loading Loading @@ -1875,6 +1886,8 @@ ndb_mgm_alloc_nodeid(NdbMgmHandle handle, unsigned int version, int nodetype) args.put("password", "mysqld"); args.put("public key", "a public key"); args.put("endian", (endian_check.c[sizeof(long)-1])?"big":"little"); if (handle->m_name) args.put("name", handle->m_name); const ParserRow<ParserDummy> reply[]= { MGM_CMD("get nodeid reply", NULL, ""), Loading ndb/src/mgmsrv/Services.cpp +7 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ #include <base64.h> extern bool g_StopServer; extern EventLogger g_eventLogger; static const unsigned int MAX_READ_TIMEOUT = 1000 ; static const unsigned int MAX_WRITE_TIMEOUT = 100 ; Loading Loading @@ -135,6 +136,7 @@ ParserRow<MgmApiSession> commands[] = { MGM_ARG("password", String, Mandatory, "Password"), MGM_ARG("public key", String, Mandatory, "Public key"), MGM_ARG("endian", String, Optional, "Endianness"), MGM_ARG("name", String, Optional, "Name of connection"), MGM_CMD("get version", &MgmApiSession::getVersion, ""), Loading Loading @@ -411,6 +413,7 @@ MgmApiSession::get_nodeid(Parser_t::Context &, const char * password; const char * public_key; const char * endian= NULL; const char * name= NULL; union { long l; char c[sizeof(long)]; } endian_check; args.get("version", &version); Loading @@ -421,6 +424,7 @@ MgmApiSession::get_nodeid(Parser_t::Context &, args.get("password", &password); args.get("public key", &public_key); args.get("endian", &endian); args.get("name", &name); endian_check.l = 1; if(endian Loading Loading @@ -489,6 +493,9 @@ MgmApiSession::get_nodeid(Parser_t::Context &, m_output->println(""); m_allocated_resources->reserve_node(tmp); if (name) g_eventLogger.info("Node %d: %s", tmp, name); return; } Loading ndb/src/ndbapi/ndb_cluster_connection.cpp +28 −2 Original line number Diff line number Diff line Loading @@ -252,7 +252,8 @@ Ndb_cluster_connection::wait_until_ready(int timeout, Ndb_cluster_connection_impl::Ndb_cluster_connection_impl(const char * connect_string) : Ndb_cluster_connection(*this), m_optimized_node_selection(1) m_optimized_node_selection(1), m_name(0) { DBUG_ENTER("Ndb_cluster_connection"); DBUG_PRINT("enter",("Ndb_cluster_connection this=0x%x", this)); Loading Loading @@ -280,7 +281,11 @@ Ndb_cluster_connection_impl::Ndb_cluster_connection_impl(const char * delete m_config_retriever; m_config_retriever= 0; } if (m_name) { NdbMgmHandle h= m_config_retriever->get_mgmHandle(); ndb_mgm_set_name(h, m_name); } m_transporter_facade= TransporterFacade::theFacadeInstance= new TransporterFacade(); Loading Loading @@ -324,9 +329,25 @@ Ndb_cluster_connection_impl::~Ndb_cluster_connection_impl() ndb_print_state_mutex= NULL; } #endif if (m_name) free(m_name); DBUG_VOID_RETURN; } void Ndb_cluster_connection_impl::set_name(const char *name) { if (m_name) free(m_name); m_name= strdup(name); if (m_config_retriever && m_name) { NdbMgmHandle h= m_config_retriever->get_mgmHandle(); ndb_mgm_set_name(h, m_name); } } void Ndb_cluster_connection_impl::init_nodes_vector(Uint32 nodeid, const ndb_mgm_configuration Loading Loading @@ -478,6 +499,11 @@ Ndb_cluster_connection_impl::do_test() delete [] nodes; } void Ndb_cluster_connection::set_name(const char *name) { m_impl.set_name(name); } int Ndb_cluster_connection::connect(int no_retries, int retry_delay_in_seconds, int verbose) { Loading Loading
ndb/include/mgmapi/mgmapi.h +8 −0 Original line number Diff line number Diff line Loading @@ -469,6 +469,14 @@ extern "C" { */ void ndb_mgm_destroy_handle(NdbMgmHandle * handle); /** * Set a name of the handle. Name is reported in cluster log. * * @param handle Management handle * @param name Name */ void ndb_mgm_set_name(NdbMgmHandle handle, const char *name); /** @} *********************************************************************/ /** * @name Functions: Connect/Disconnect Management Server Loading
ndb/include/ndbapi/ndb_cluster_connection.hpp +8 −0 Original line number Diff line number Diff line Loading @@ -40,6 +40,14 @@ public: Ndb_cluster_connection(const char * connectstring = 0); ~Ndb_cluster_connection(); /** * Set a name on the connection, which will be reported in cluster log * * @param name * */ void set_name(const char *name); /** * Connect to a cluster management server * Loading
ndb/src/mgmapi/mgmapi.cpp +13 −0 Original line number Diff line number Diff line Loading @@ -102,6 +102,7 @@ struct ndb_mgm_handle { FILE* logfile; #endif FILE *errstream; char *m_name; }; #define SET_ERROR(h, e, s) setError(h, e, __LINE__, s) Loading Loading @@ -156,6 +157,7 @@ ndb_mgm_create_handle() h->write_timeout = 100; h->cfg_i = -1; h->errstream = stdout; h->m_name = 0; strncpy(h->last_error_desc, "No error", NDB_MGM_MAX_ERR_DESC_SIZE); Loading @@ -170,6 +172,14 @@ ndb_mgm_create_handle() DBUG_RETURN(h); } extern "C" void ndb_mgm_set_name(NdbMgmHandle handle, const char *name) { my_free(handle->m_name, MYF(MY_ALLOW_ZERO_PTR)); handle->m_name= my_strdup(name, MYF(MY_WME)); } extern "C" int ndb_mgm_set_connectstring(NdbMgmHandle handle, const char * mgmsrv) Loading Loading @@ -216,6 +226,7 @@ ndb_mgm_destroy_handle(NdbMgmHandle * handle) } #endif (*handle)->cfg.~LocalConfig(); my_free((*handle)->m_name, MYF(MY_ALLOW_ZERO_PTR)); my_free((char*)* handle,MYF(MY_ALLOW_ZERO_PTR)); * handle = 0; DBUG_VOID_RETURN; Loading Loading @@ -1875,6 +1886,8 @@ ndb_mgm_alloc_nodeid(NdbMgmHandle handle, unsigned int version, int nodetype) args.put("password", "mysqld"); args.put("public key", "a public key"); args.put("endian", (endian_check.c[sizeof(long)-1])?"big":"little"); if (handle->m_name) args.put("name", handle->m_name); const ParserRow<ParserDummy> reply[]= { MGM_CMD("get nodeid reply", NULL, ""), Loading
ndb/src/mgmsrv/Services.cpp +7 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ #include <base64.h> extern bool g_StopServer; extern EventLogger g_eventLogger; static const unsigned int MAX_READ_TIMEOUT = 1000 ; static const unsigned int MAX_WRITE_TIMEOUT = 100 ; Loading Loading @@ -135,6 +136,7 @@ ParserRow<MgmApiSession> commands[] = { MGM_ARG("password", String, Mandatory, "Password"), MGM_ARG("public key", String, Mandatory, "Public key"), MGM_ARG("endian", String, Optional, "Endianness"), MGM_ARG("name", String, Optional, "Name of connection"), MGM_CMD("get version", &MgmApiSession::getVersion, ""), Loading Loading @@ -411,6 +413,7 @@ MgmApiSession::get_nodeid(Parser_t::Context &, const char * password; const char * public_key; const char * endian= NULL; const char * name= NULL; union { long l; char c[sizeof(long)]; } endian_check; args.get("version", &version); Loading @@ -421,6 +424,7 @@ MgmApiSession::get_nodeid(Parser_t::Context &, args.get("password", &password); args.get("public key", &public_key); args.get("endian", &endian); args.get("name", &name); endian_check.l = 1; if(endian Loading Loading @@ -489,6 +493,9 @@ MgmApiSession::get_nodeid(Parser_t::Context &, m_output->println(""); m_allocated_resources->reserve_node(tmp); if (name) g_eventLogger.info("Node %d: %s", tmp, name); return; } Loading
ndb/src/ndbapi/ndb_cluster_connection.cpp +28 −2 Original line number Diff line number Diff line Loading @@ -252,7 +252,8 @@ Ndb_cluster_connection::wait_until_ready(int timeout, Ndb_cluster_connection_impl::Ndb_cluster_connection_impl(const char * connect_string) : Ndb_cluster_connection(*this), m_optimized_node_selection(1) m_optimized_node_selection(1), m_name(0) { DBUG_ENTER("Ndb_cluster_connection"); DBUG_PRINT("enter",("Ndb_cluster_connection this=0x%x", this)); Loading Loading @@ -280,7 +281,11 @@ Ndb_cluster_connection_impl::Ndb_cluster_connection_impl(const char * delete m_config_retriever; m_config_retriever= 0; } if (m_name) { NdbMgmHandle h= m_config_retriever->get_mgmHandle(); ndb_mgm_set_name(h, m_name); } m_transporter_facade= TransporterFacade::theFacadeInstance= new TransporterFacade(); Loading Loading @@ -324,9 +329,25 @@ Ndb_cluster_connection_impl::~Ndb_cluster_connection_impl() ndb_print_state_mutex= NULL; } #endif if (m_name) free(m_name); DBUG_VOID_RETURN; } void Ndb_cluster_connection_impl::set_name(const char *name) { if (m_name) free(m_name); m_name= strdup(name); if (m_config_retriever && m_name) { NdbMgmHandle h= m_config_retriever->get_mgmHandle(); ndb_mgm_set_name(h, m_name); } } void Ndb_cluster_connection_impl::init_nodes_vector(Uint32 nodeid, const ndb_mgm_configuration Loading Loading @@ -478,6 +499,11 @@ Ndb_cluster_connection_impl::do_test() delete [] nodes; } void Ndb_cluster_connection::set_name(const char *name) { m_impl.set_name(name); } int Ndb_cluster_connection::connect(int no_retries, int retry_delay_in_seconds, int verbose) { Loading