mirror of
https://github.com/MariaDB/server.git
synced 2025-10-21 08:47:42 +03:00
Merge dev3-127.(none):/mnt/mysql/home/ngb/mysql-5.0/bug20575
into dev3-127.(none):/mnt/mysql/home/ngb/mysql-5.1/mysql-5.1-bug20575 storage/ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp: Auto merged storage/ndb/src/mgmclient/CommandInterpreter.cpp: Auto merged storage/ndb/src/mgmsrv/MgmtSrvr.cpp: Auto merged
This commit is contained in:
@@ -2316,7 +2316,33 @@ Ndbcntr::StopRecord::checkNodeFail(Signal* signal){
|
||||
{
|
||||
NdbNodeBitmask tmp;
|
||||
tmp.assign(NdbNodeBitmask::Size, stopReq.nodes);
|
||||
|
||||
NdbNodeBitmask ndbStopNodes;
|
||||
ndbStopNodes.assign(NdbNodeBitmask::Size, stopReq.nodes);
|
||||
ndbStopNodes.bitAND(ndbMask);
|
||||
ndbStopNodes.copyto(NdbNodeBitmask::Size, stopReq.nodes);
|
||||
|
||||
ndbMask.bitANDC(tmp);
|
||||
|
||||
bool allNodesStopped = true;
|
||||
int i ;
|
||||
for( i = 0; i< NdbNodeBitmask::Size; i++ ){
|
||||
if ( stopReq.nodes[i] != 0 ){
|
||||
allNodesStopped = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if ( allNodesStopped ) {
|
||||
StopConf * const stopConf = (StopConf *)&signal->theData[0];
|
||||
stopConf->senderData = stopReq.senderData;
|
||||
stopConf->nodeState = (Uint32) NodeState::SL_NOTHING;
|
||||
cntr.sendSignal(stopReq.senderRef, GSN_STOP_CONF, signal,
|
||||
StopConf::SignalLength, JBB);
|
||||
stopReq.senderRef = 0;
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@@ -1031,7 +1031,7 @@ CommandInterpreter::execute_impl(const char *_line, bool interactive)
|
||||
int node_id;
|
||||
if (convert(command_list[pos].c_str(), node_id))
|
||||
{
|
||||
if (node_id <= 0) {
|
||||
if (node_id <= 0 || node_id > MAX_NODES) {
|
||||
ndbout << "Invalid node ID: " << command_list[pos].c_str()
|
||||
<< "." << endl;
|
||||
DBUG_RETURN(true);
|
||||
|
@@ -1009,6 +1009,11 @@ int MgmtSrvr::sendSTOP_REQ(const Vector<NodeId> &node_ids,
|
||||
{
|
||||
nodeId= node_ids[i];
|
||||
ndbout << "asked to stop " << nodeId << endl;
|
||||
|
||||
if ((getNodeType(nodeId) != NDB_MGM_NODE_TYPE_MGM)
|
||||
&&(getNodeType(nodeId) != NDB_MGM_NODE_TYPE_NDB))
|
||||
return WRONG_PROCESS_TYPE;
|
||||
|
||||
if (getNodeType(nodeId) != NDB_MGM_NODE_TYPE_MGM)
|
||||
nodes_to_stop.set(nodeId);
|
||||
else if (nodeId != getOwnNodeId())
|
||||
|
Reference in New Issue
Block a user