Loading ndb/src/mgmsrv/MgmtSrvr.cpp +15 −6 Original line number Diff line number Diff line Loading @@ -765,7 +765,7 @@ MgmtSrvr::sendVersionReq(int v_nodeId, Uint32 &version) case GSN_NODE_FAILREP:{ const NodeFailRep * const rep = CAST_CONSTPTR(NodeFailRep, signal->getDataPtr()); if (rep->failNo == nodeId) if (NodeBitmask::get(rep->theNodes,nodeId)) do_send = 1; // retry with other node continue; } Loading Loading @@ -894,14 +894,23 @@ int MgmtSrvr::sendSTOP_REQ(NodeId nodeId, case GSN_NODE_FAILREP:{ const NodeFailRep * const rep = CAST_CONSTPTR(NodeFailRep, signal->getDataPtr()); NodeBitmask failedNodes; failedNodes.assign(NodeBitmask::Size, rep->theNodes); #ifdef VM_TRACE ndbout_c("Node %d failed", rep->failNo); { ndbout << "Failed nodes:"; for (unsigned i = 0; i < 32*NodeBitmask::Size; i++) if(failedNodes.get(i)) ndbout << " " << i; ndbout << endl; } #endif if (nodes.get(rep->failNo)) failedNodes.bitAND(nodes); if (!failedNodes.isclear()) { nodes.clear(rep->failNo); nodes.bitANDC(failedNodes); // clear the failed nodes if (singleUserNodeId == 0) stoppedNodes.set(rep->failNo); stoppedNodes.bitOR(failedNodes); } break; } Loading Loading @@ -1244,7 +1253,7 @@ MgmtSrvr::setEventReportingLevelImpl(int nodeId, case GSN_NODE_FAILREP:{ const NodeFailRep * const rep = CAST_CONSTPTR(NodeFailRep, signal->getDataPtr()); if (rep->failNo == nodeId) if (NodeBitmask::get(rep->theNodes,nodeId)) return SEND_OR_RECEIVE_FAILED; break; } Loading Loading
ndb/src/mgmsrv/MgmtSrvr.cpp +15 −6 Original line number Diff line number Diff line Loading @@ -765,7 +765,7 @@ MgmtSrvr::sendVersionReq(int v_nodeId, Uint32 &version) case GSN_NODE_FAILREP:{ const NodeFailRep * const rep = CAST_CONSTPTR(NodeFailRep, signal->getDataPtr()); if (rep->failNo == nodeId) if (NodeBitmask::get(rep->theNodes,nodeId)) do_send = 1; // retry with other node continue; } Loading Loading @@ -894,14 +894,23 @@ int MgmtSrvr::sendSTOP_REQ(NodeId nodeId, case GSN_NODE_FAILREP:{ const NodeFailRep * const rep = CAST_CONSTPTR(NodeFailRep, signal->getDataPtr()); NodeBitmask failedNodes; failedNodes.assign(NodeBitmask::Size, rep->theNodes); #ifdef VM_TRACE ndbout_c("Node %d failed", rep->failNo); { ndbout << "Failed nodes:"; for (unsigned i = 0; i < 32*NodeBitmask::Size; i++) if(failedNodes.get(i)) ndbout << " " << i; ndbout << endl; } #endif if (nodes.get(rep->failNo)) failedNodes.bitAND(nodes); if (!failedNodes.isclear()) { nodes.clear(rep->failNo); nodes.bitANDC(failedNodes); // clear the failed nodes if (singleUserNodeId == 0) stoppedNodes.set(rep->failNo); stoppedNodes.bitOR(failedNodes); } break; } Loading Loading @@ -1244,7 +1253,7 @@ MgmtSrvr::setEventReportingLevelImpl(int nodeId, case GSN_NODE_FAILREP:{ const NodeFailRep * const rep = CAST_CONSTPTR(NodeFailRep, signal->getDataPtr()); if (rep->failNo == nodeId) if (NodeBitmask::get(rep->theNodes,nodeId)) return SEND_OR_RECEIVE_FAILED; break; } Loading