Commit cb8084d4 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/50-jonas
parents 3e2daff8 5904a946
...@@ -425,7 +425,7 @@ private: ...@@ -425,7 +425,7 @@ private:
Uint16 ccommitFailedNodes[MAX_NDB_NODES]; Uint16 ccommitFailedNodes[MAX_NDB_NODES];
StopReq c_stopReq; StopReq c_stopReq;
void check_multi_node_shutdown(Signal* signal); bool check_multi_node_shutdown(Signal* signal);
}; };
#endif #endif
...@@ -2763,7 +2763,11 @@ void Qmgr::failReportLab(Signal* signal, Uint16 aFailedNode, ...@@ -2763,7 +2763,11 @@ void Qmgr::failReportLab(Signal* signal, Uint16 aFailedNode,
ptrCheckGuard(failedNodePtr, MAX_NODES, nodeRec); ptrCheckGuard(failedNodePtr, MAX_NODES, nodeRec);
FailRep* rep = (FailRep*)signal->getDataPtr(); FailRep* rep = (FailRep*)signal->getDataPtr();
check_multi_node_shutdown(signal); if (check_multi_node_shutdown(signal))
{
jam();
return;
}
if (failedNodePtr.i == getOwnNodeId()) { if (failedNodePtr.i == getOwnNodeId()) {
jam(); jam();
...@@ -2832,8 +2836,8 @@ void Qmgr::failReportLab(Signal* signal, Uint16 aFailedNode, ...@@ -2832,8 +2836,8 @@ void Qmgr::failReportLab(Signal* signal, Uint16 aFailedNode,
"We(%u) have been declared dead by %u reason: %s(%u)", "We(%u) have been declared dead by %u reason: %s(%u)",
getOwnNodeId(), getOwnNodeId(),
refToNode(signal->getSendersBlockRef()), refToNode(signal->getSendersBlockRef()),
aFailCause, msg ? msg : "<Unknown>",
msg ? msg : "<Unknown>"); aFailCause);
progError(__LINE__, code, buf); progError(__LINE__, code, buf);
return; return;
...@@ -2893,7 +2897,11 @@ void Qmgr::execPREP_FAILREQ(Signal* signal) ...@@ -2893,7 +2897,11 @@ void Qmgr::execPREP_FAILREQ(Signal* signal)
NodeRecPtr myNodePtr; NodeRecPtr myNodePtr;
jamEntry(); jamEntry();
check_multi_node_shutdown(signal); if (check_multi_node_shutdown(signal))
{
jam();
return;
}
PrepFailReqRef * const prepFail = (PrepFailReqRef *)&signal->theData[0]; PrepFailReqRef * const prepFail = (PrepFailReqRef *)&signal->theData[0];
...@@ -4729,7 +4737,7 @@ Qmgr::execSTOP_REQ(Signal* signal) ...@@ -4729,7 +4737,7 @@ Qmgr::execSTOP_REQ(Signal* signal)
} }
} }
void bool
Qmgr::check_multi_node_shutdown(Signal* signal) Qmgr::check_multi_node_shutdown(Signal* signal)
{ {
if (c_stopReq.senderRef && if (c_stopReq.senderRef &&
...@@ -4745,5 +4753,7 @@ Qmgr::check_multi_node_shutdown(Signal* signal) ...@@ -4745,5 +4753,7 @@ Qmgr::check_multi_node_shutdown(Signal* signal)
} else { } else {
EXECUTE_DIRECT(CMVMI, GSN_STOP_ORD, signal, 1); 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