Commit 327adcf4 authored by jonas@perch.ndb.mysql.com's avatar jonas@perch.ndb.mysql.com

Merge perch.ndb.mysql.com:/home/jonas/src/50-work

into  perch.ndb.mysql.com:/home/jonas/src/51-work
parents f609313d 5904a946
......@@ -433,7 +433,7 @@ private:
Uint16 cfailedNodes[MAX_NDB_NODES];
Uint16 cprepFailedNodes[MAX_NDB_NODES];
Uint16 ccommitFailedNodes[MAX_NDB_NODES];
struct OpAllocNodeIdReq {
RequestTracker m_tracker;
AllocNodeIdReq m_req;
......@@ -444,7 +444,7 @@ private:
struct OpAllocNodeIdReq opAllocNodeIdReq;
StopReq c_stopReq;
void check_multi_node_shutdown(Signal* signal);
bool check_multi_node_shutdown(Signal* signal);
};
#endif
......@@ -2766,7 +2766,11 @@ void Qmgr::failReportLab(Signal* signal, Uint16 aFailedNode,
ptrCheckGuard(failedNodePtr, MAX_NODES, nodeRec);
FailRep* rep = (FailRep*)signal->getDataPtr();
check_multi_node_shutdown(signal);
if (check_multi_node_shutdown(signal))
{
jam();
return;
}
if (failedNodePtr.i == getOwnNodeId()) {
jam();
......@@ -2835,8 +2839,8 @@ void Qmgr::failReportLab(Signal* signal, Uint16 aFailedNode,
"We(%u) have been declared dead by %u reason: %s(%u)",
getOwnNodeId(),
refToNode(signal->getSendersBlockRef()),
aFailCause,
msg ? msg : "<Unknown>");
msg ? msg : "<Unknown>",
aFailCause);
progError(__LINE__, code, buf);
return;
......@@ -2896,7 +2900,11 @@ void Qmgr::execPREP_FAILREQ(Signal* signal)
NodeRecPtr myNodePtr;
jamEntry();
check_multi_node_shutdown(signal);
if (check_multi_node_shutdown(signal))
{
jam();
return;
}
PrepFailReqRef * const prepFail = (PrepFailReqRef *)&signal->theData[0];
......@@ -4897,7 +4905,7 @@ Qmgr::execSTOP_REQ(Signal* signal)
}
}
void
bool
Qmgr::check_multi_node_shutdown(Signal* signal)
{
if (c_stopReq.senderRef &&
......@@ -4913,5 +4921,7 @@ Qmgr::check_multi_node_shutdown(Signal* signal)
} else {
EXECUTE_DIRECT(CMVMI, GSN_STOP_ORD, signal, 1);
}
return true;
}
return false;
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment