Loading mysql-test/ndb/ndbcluster.sh +1 −0 Original line number Diff line number Diff line Loading @@ -194,6 +194,7 @@ stop_default_ndbcluster() { exec_mgmtclient="$exec_mgmtclient --try-reconnect=1" echo "all stop" | $exec_mgmtclient 2>&1 | cat > /dev/null echo "3 stop" | $exec_mgmtclient 2>&1 | cat > /dev/null if [ -f "$fs_ndb/$pidfile" ] ; then kill -9 `cat "$fs_ndb/$pidfile"` 2> /dev/null Loading ndb/src/mgmclient/CommandInterpreter.cpp +23 −16 Original line number Diff line number Diff line Loading @@ -649,6 +649,7 @@ CommandInterpreter::executeShow(char* parameters) } int master_id= 0, ndb_nodes= 0, api_nodes= 0, mgm_nodes= 0; Loading @@ -659,6 +660,8 @@ CommandInterpreter::executeShow(char* parameters) api_nodes++; break; case NDB_MGM_NODE_TYPE_NDB: if (state->node_states[i].dynamic_id > master_id) master_id= state->node_states[i].dynamic_id; ndb_nodes++; break; case NDB_MGM_NODE_TYPE_MGM: Loading @@ -681,8 +684,11 @@ CommandInterpreter::executeShow(char* parameters) ndbout << " (Version: " << getMajor(state->node_states[i].version) << "." << getMinor(state->node_states[i].version) << "." << getBuild(state->node_states[i].version) << ")" << endl; << getBuild(state->node_states[i].version) << "," << " Nodegroup: " << state->node_states[i].node_group; if (state->node_states[i].dynamic_id == master_id) ndbout << ", Master"; ndbout << ")" << endl; } else { ndbout << " (not connected) " << endl; Loading @@ -692,13 +698,13 @@ CommandInterpreter::executeShow(char* parameters) } ndbout << endl; ndbout << api_nodes << " API Node(s)" ndbout << mgm_nodes << " MGM Node(s)" << endl; for(i=0; i < state->no_of_nodes; i++) { if(state->node_states[i].node_type == NDB_MGM_NODE_TYPE_API) { ndbout << "API node:\t" << state->node_states[i].node_id; if(state->node_states[i].node_type == NDB_MGM_NODE_TYPE_MGM) { ndbout << "MGM node:\t" << state->node_states[i].node_id; if(state->node_states[i].version != 0) { ndbout << " (Version: " << getMajor(state->node_states[i].version) << "." Loading @@ -707,19 +713,19 @@ CommandInterpreter::executeShow(char* parameters) } else { ndbout << " (not connected) " << endl; ndbout << " (no version information available) " << endl; } } } ndbout << endl; ndbout << mgm_nodes << " MGM Node(s)" ndbout << api_nodes << " API Node(s)" << endl; for(i=0; i < state->no_of_nodes; i++) { if(state->node_states[i].node_type == NDB_MGM_NODE_TYPE_MGM) { ndbout << "MGM node:\t" << state->node_states[i].node_id; if(state->node_states[i].node_type == NDB_MGM_NODE_TYPE_API) { ndbout << "API node:\t" << state->node_states[i].node_id; if(state->node_states[i].version != 0) { ndbout << " (Version: " << getMajor(state->node_states[i].version) << "." Loading @@ -728,11 +734,12 @@ CommandInterpreter::executeShow(char* parameters) } else { ndbout << " (no version information available) " << endl; ndbout << " (not connected) " << endl; } } } ndbout << endl; // ndbout << helpTextShow; return; } else if (strcmp(parameters, "PROPERTIES") == 0 || Loading ndb/src/mgmsrv/Services.cpp +23 −1 Original line number Diff line number Diff line Loading @@ -31,6 +31,8 @@ #include "Services.hpp" extern bool g_StopServer; static const unsigned int MAX_READ_TIMEOUT = 1000 ; static const unsigned int MAX_WRITE_TIMEOUT = 100 ; Loading Loading @@ -1012,11 +1014,28 @@ MgmApiSession::stop(Parser<MgmApiSession>::Context &, nodes.push_back(atoi(p)); } int stop_self= 0; for(size_t i=0; i < nodes.size(); i++) { if (nodes[i] == m_mgmsrv.getOwnNodeId()) { stop_self= 1; if (i != nodes.size()-1) { m_output->println("stop reply"); m_output->println("result: server must be stopped last"); m_output->println(""); return; } } } int stopped = 0, result = 0; for(size_t i=0; i < nodes.size(); i++) if (nodes[i] != m_mgmsrv.getOwnNodeId()) { if((result = m_mgmsrv.stopNode(nodes[i], abort != 0)) == 0) stopped++; } else stopped++; m_output->println("stop reply"); if(result != 0) Loading @@ -1025,6 +1044,9 @@ MgmApiSession::stop(Parser<MgmApiSession>::Context &, m_output->println("result: Ok"); m_output->println("stopped: %d", stopped); m_output->println(""); if (stop_self) g_StopServer= true; } Loading Loading
mysql-test/ndb/ndbcluster.sh +1 −0 Original line number Diff line number Diff line Loading @@ -194,6 +194,7 @@ stop_default_ndbcluster() { exec_mgmtclient="$exec_mgmtclient --try-reconnect=1" echo "all stop" | $exec_mgmtclient 2>&1 | cat > /dev/null echo "3 stop" | $exec_mgmtclient 2>&1 | cat > /dev/null if [ -f "$fs_ndb/$pidfile" ] ; then kill -9 `cat "$fs_ndb/$pidfile"` 2> /dev/null Loading
ndb/src/mgmclient/CommandInterpreter.cpp +23 −16 Original line number Diff line number Diff line Loading @@ -649,6 +649,7 @@ CommandInterpreter::executeShow(char* parameters) } int master_id= 0, ndb_nodes= 0, api_nodes= 0, mgm_nodes= 0; Loading @@ -659,6 +660,8 @@ CommandInterpreter::executeShow(char* parameters) api_nodes++; break; case NDB_MGM_NODE_TYPE_NDB: if (state->node_states[i].dynamic_id > master_id) master_id= state->node_states[i].dynamic_id; ndb_nodes++; break; case NDB_MGM_NODE_TYPE_MGM: Loading @@ -681,8 +684,11 @@ CommandInterpreter::executeShow(char* parameters) ndbout << " (Version: " << getMajor(state->node_states[i].version) << "." << getMinor(state->node_states[i].version) << "." << getBuild(state->node_states[i].version) << ")" << endl; << getBuild(state->node_states[i].version) << "," << " Nodegroup: " << state->node_states[i].node_group; if (state->node_states[i].dynamic_id == master_id) ndbout << ", Master"; ndbout << ")" << endl; } else { ndbout << " (not connected) " << endl; Loading @@ -692,13 +698,13 @@ CommandInterpreter::executeShow(char* parameters) } ndbout << endl; ndbout << api_nodes << " API Node(s)" ndbout << mgm_nodes << " MGM Node(s)" << endl; for(i=0; i < state->no_of_nodes; i++) { if(state->node_states[i].node_type == NDB_MGM_NODE_TYPE_API) { ndbout << "API node:\t" << state->node_states[i].node_id; if(state->node_states[i].node_type == NDB_MGM_NODE_TYPE_MGM) { ndbout << "MGM node:\t" << state->node_states[i].node_id; if(state->node_states[i].version != 0) { ndbout << " (Version: " << getMajor(state->node_states[i].version) << "." Loading @@ -707,19 +713,19 @@ CommandInterpreter::executeShow(char* parameters) } else { ndbout << " (not connected) " << endl; ndbout << " (no version information available) " << endl; } } } ndbout << endl; ndbout << mgm_nodes << " MGM Node(s)" ndbout << api_nodes << " API Node(s)" << endl; for(i=0; i < state->no_of_nodes; i++) { if(state->node_states[i].node_type == NDB_MGM_NODE_TYPE_MGM) { ndbout << "MGM node:\t" << state->node_states[i].node_id; if(state->node_states[i].node_type == NDB_MGM_NODE_TYPE_API) { ndbout << "API node:\t" << state->node_states[i].node_id; if(state->node_states[i].version != 0) { ndbout << " (Version: " << getMajor(state->node_states[i].version) << "." Loading @@ -728,11 +734,12 @@ CommandInterpreter::executeShow(char* parameters) } else { ndbout << " (no version information available) " << endl; ndbout << " (not connected) " << endl; } } } ndbout << endl; // ndbout << helpTextShow; return; } else if (strcmp(parameters, "PROPERTIES") == 0 || Loading
ndb/src/mgmsrv/Services.cpp +23 −1 Original line number Diff line number Diff line Loading @@ -31,6 +31,8 @@ #include "Services.hpp" extern bool g_StopServer; static const unsigned int MAX_READ_TIMEOUT = 1000 ; static const unsigned int MAX_WRITE_TIMEOUT = 100 ; Loading Loading @@ -1012,11 +1014,28 @@ MgmApiSession::stop(Parser<MgmApiSession>::Context &, nodes.push_back(atoi(p)); } int stop_self= 0; for(size_t i=0; i < nodes.size(); i++) { if (nodes[i] == m_mgmsrv.getOwnNodeId()) { stop_self= 1; if (i != nodes.size()-1) { m_output->println("stop reply"); m_output->println("result: server must be stopped last"); m_output->println(""); return; } } } int stopped = 0, result = 0; for(size_t i=0; i < nodes.size(); i++) if (nodes[i] != m_mgmsrv.getOwnNodeId()) { if((result = m_mgmsrv.stopNode(nodes[i], abort != 0)) == 0) stopped++; } else stopped++; m_output->println("stop reply"); if(result != 0) Loading @@ -1025,6 +1044,9 @@ MgmApiSession::stop(Parser<MgmApiSession>::Context &, m_output->println("result: Ok"); m_output->println("stopped: %d", stopped); m_output->println(""); if (stop_self) g_StopServer= true; } Loading