@@ -9344,6 +9344,8 @@ void Dbdih::checkStopMe(Signal *signal, NodeRecordPtr failedNodePtr) {
93449344void Dbdih::checkStopPermMaster(Signal *signal, NodeRecordPtr failedNodePtr) {
93459345 DihSwitchReplicaRef *const ref = (DihSwitchReplicaRef *)&signal->theData[0];
93469346 jam();
9347+ /* Node is no longer 'stopping', clear from bitmap */
9348+ c_stopPermMaster.stoppingNodes.clear(failedNodePtr.i);
93479349 if (c_DIH_SWITCH_REPLICA_REQ_Counter.isWaitingFor(failedNodePtr.i)) {
93489350 jam();
93499351 ndbrequire(c_stopPermMaster.clientRef != 0);
@@ -9353,8 +9355,6 @@ void Dbdih::checkStopPermMaster(Signal *signal, NodeRecordPtr failedNodePtr) {
93539355 DihSwitchReplicaRef::SignalLength, JBB);
93549356 return;
93559357 } // if
9356- /* Node is no longer 'stopping', clear from bitmap */
9357- c_stopPermMaster.stoppingNodes.clear(failedNodePtr.i);
93589358} // Dbdih::checkStopPermMaster()
93599359
93609360void Dbdih::checkStopPermProxy(Signal *signal, NodeId failedNodeId) {
@@ -26196,7 +26196,7 @@ void Dbdih::switchReplica(Signal *signal, Uint32 nodeId, Uint32 tableId,
2619626196
2619726197 /* Failure to get stop permission, clear node from stopping bitmap */
2619826198 const Uint32 nodeId = refToNode(c_stopPermMaster.clientRef);
26199- ndbrequire(c_stopPermMaster.stoppingNodes.get(nodeId));
26199+ /* Expect bit to be set, unless stopping node failed early */
2620026200 c_stopPermMaster.stoppingNodes.clear(nodeId);
2620126201 } // if
2620226202
0 commit comments