mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Merge tulin@bk-internal.mysql.com:/home/bk/mysql-4.1
into poseidon.(none):/home/tomas/mysql-4.1-clean
This commit is contained in:
@ -194,6 +194,7 @@ stop_default_ndbcluster() {
|
|||||||
exec_mgmtclient="$exec_mgmtclient --try-reconnect=1"
|
exec_mgmtclient="$exec_mgmtclient --try-reconnect=1"
|
||||||
|
|
||||||
echo "all stop" | $exec_mgmtclient 2>&1 | cat > /dev/null
|
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
|
if [ -f "$fs_ndb/$pidfile" ] ; then
|
||||||
kill -9 `cat "$fs_ndb/$pidfile"` 2> /dev/null
|
kill -9 `cat "$fs_ndb/$pidfile"` 2> /dev/null
|
||||||
|
@ -649,9 +649,10 @@ CommandInterpreter::executeShow(char* parameters)
|
|||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
ndb_nodes = 0,
|
master_id= 0,
|
||||||
api_nodes = 0,
|
ndb_nodes= 0,
|
||||||
mgm_nodes = 0;
|
api_nodes= 0,
|
||||||
|
mgm_nodes= 0;
|
||||||
|
|
||||||
for(i=0; i < state->no_of_nodes; i++) {
|
for(i=0; i < state->no_of_nodes; i++) {
|
||||||
switch(state->node_states[i].node_type) {
|
switch(state->node_states[i].node_type) {
|
||||||
@ -659,6 +660,8 @@ CommandInterpreter::executeShow(char* parameters)
|
|||||||
api_nodes++;
|
api_nodes++;
|
||||||
break;
|
break;
|
||||||
case NDB_MGM_NODE_TYPE_NDB:
|
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++;
|
ndb_nodes++;
|
||||||
break;
|
break;
|
||||||
case NDB_MGM_NODE_TYPE_MGM:
|
case NDB_MGM_NODE_TYPE_MGM:
|
||||||
@ -681,8 +684,11 @@ CommandInterpreter::executeShow(char* parameters)
|
|||||||
ndbout << " (Version: "
|
ndbout << " (Version: "
|
||||||
<< getMajor(state->node_states[i].version) << "."
|
<< getMajor(state->node_states[i].version) << "."
|
||||||
<< getMinor(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
|
} else
|
||||||
{
|
{
|
||||||
ndbout << " (not connected) " << endl;
|
ndbout << " (not connected) " << endl;
|
||||||
@ -692,27 +698,6 @@ CommandInterpreter::executeShow(char* parameters)
|
|||||||
}
|
}
|
||||||
ndbout << endl;
|
ndbout << endl;
|
||||||
|
|
||||||
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_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) << "."
|
|
||||||
<< getMinor(state->node_states[i].version) << "."
|
|
||||||
<< getBuild(state->node_states[i].version) << ")" << endl;
|
|
||||||
|
|
||||||
} else
|
|
||||||
{
|
|
||||||
ndbout << " (not connected) " << endl;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
ndbout << endl;
|
|
||||||
|
|
||||||
ndbout << mgm_nodes
|
ndbout << mgm_nodes
|
||||||
<< " MGM Node(s)"
|
<< " MGM Node(s)"
|
||||||
<< endl;
|
<< endl;
|
||||||
@ -733,6 +718,28 @@ CommandInterpreter::executeShow(char* parameters)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
ndbout << endl;
|
ndbout << endl;
|
||||||
|
|
||||||
|
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_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) << "."
|
||||||
|
<< getMinor(state->node_states[i].version) << "."
|
||||||
|
<< getBuild(state->node_states[i].version) << ")" << endl;
|
||||||
|
|
||||||
|
} else
|
||||||
|
{
|
||||||
|
ndbout << " (not connected) " << endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ndbout << endl;
|
||||||
|
|
||||||
// ndbout << helpTextShow;
|
// ndbout << helpTextShow;
|
||||||
return;
|
return;
|
||||||
} else if (strcmp(parameters, "PROPERTIES") == 0 ||
|
} else if (strcmp(parameters, "PROPERTIES") == 0 ||
|
||||||
|
@ -31,6 +31,8 @@
|
|||||||
|
|
||||||
#include "Services.hpp"
|
#include "Services.hpp"
|
||||||
|
|
||||||
|
extern bool g_StopServer;
|
||||||
|
|
||||||
static const unsigned int MAX_READ_TIMEOUT = 1000 ;
|
static const unsigned int MAX_READ_TIMEOUT = 1000 ;
|
||||||
static const unsigned int MAX_WRITE_TIMEOUT = 100 ;
|
static const unsigned int MAX_WRITE_TIMEOUT = 100 ;
|
||||||
|
|
||||||
@ -1012,10 +1014,27 @@ MgmApiSession::stop(Parser<MgmApiSession>::Context &,
|
|||||||
nodes.push_back(atoi(p));
|
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;
|
int stopped = 0, result = 0;
|
||||||
|
|
||||||
for(size_t i=0; i < nodes.size(); i++)
|
for(size_t i=0; i < nodes.size(); i++)
|
||||||
if((result = m_mgmsrv.stopNode(nodes[i], abort != 0)) == 0)
|
if (nodes[i] != m_mgmsrv.getOwnNodeId()) {
|
||||||
|
if((result = m_mgmsrv.stopNode(nodes[i], abort != 0)) == 0)
|
||||||
|
stopped++;
|
||||||
|
} else
|
||||||
stopped++;
|
stopped++;
|
||||||
|
|
||||||
m_output->println("stop reply");
|
m_output->println("stop reply");
|
||||||
@ -1025,6 +1044,9 @@ MgmApiSession::stop(Parser<MgmApiSession>::Context &,
|
|||||||
m_output->println("result: Ok");
|
m_output->println("result: Ok");
|
||||||
m_output->println("stopped: %d", stopped);
|
m_output->println("stopped: %d", stopped);
|
||||||
m_output->println("");
|
m_output->println("");
|
||||||
|
|
||||||
|
if (stop_self)
|
||||||
|
g_StopServer= true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user