Loading storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp +5 −10 Original line number Diff line number Diff line Loading @@ -7104,21 +7104,16 @@ Dbtc::nodeFailCheckTransactions(Signal* signal, for (transPtr.i = transPtrI; transPtr.i < capiConnectFilesize; transPtr.i++) { ptrCheckGuard(transPtr, capiConnectFilesize, apiConnectRecord); Uint32 state = transPtr.p->apiConnectstate; if (transPtr.p->m_transaction_nodes.get(failedNodeId)) { jam(); // avoid assertion in timeoutfoundlab if (state != CS_PREPARE_TO_COMMIT) { // Force timeout regardless of state c_appl_timeout_value = 1; setApiConTimer(transPtr.i, TtcTimer - 2, __LINE__); timeOutFoundLab(signal, transPtr.i, ZNODEFAIL_BEFORE_COMMIT); c_appl_timeout_value = TapplTimeout; } } // Send CONTINUEB to continue later signal->theData[0] = TcContinueB::ZNF_CHECK_TRANSACTIONS; Loading storage/ndb/test/ndbapi/testNodeRestart.cpp +11 −3 Original line number Diff line number Diff line Loading @@ -887,6 +887,9 @@ int runBug20185(NDBT_Context* ctx, NDBT_Step* step){ return NDBT_FAILED; NdbSleep_MilliSleep(3000); Vector<int> nodes; for (Uint32 i = 0; i<restarter.getNumDbNodes(); i++) nodes.push_back(restarter.getDbNodeId(i)); retry: if(hugoOps.startTransaction(pNdb) != 0) Loading @@ -910,11 +913,16 @@ int runBug20185(NDBT_Context* ctx, NDBT_Step* step){ nodeId = restarter.getDbNodeId(rand() % restarter.getNumDbNodes()); } while (nodeId == node); if (restarter.insertErrorInAllNodes(7030)) ndbout_c("7031 to %d", nodeId); if (restarter.insertErrorInNode(nodeId, 7031)) return NDBT_FAILED; if (restarter.insertErrorInNode(nodeId, 7031)) for (Uint32 i = 0; i<nodes.size(); i++) { if (nodes[i] != nodeId) if (restarter.insertErrorInNode(nodes[i], 7030)) return NDBT_FAILED; } NdbSleep_MilliSleep(500); Loading Loading
storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp +5 −10 Original line number Diff line number Diff line Loading @@ -7104,21 +7104,16 @@ Dbtc::nodeFailCheckTransactions(Signal* signal, for (transPtr.i = transPtrI; transPtr.i < capiConnectFilesize; transPtr.i++) { ptrCheckGuard(transPtr, capiConnectFilesize, apiConnectRecord); Uint32 state = transPtr.p->apiConnectstate; if (transPtr.p->m_transaction_nodes.get(failedNodeId)) { jam(); // avoid assertion in timeoutfoundlab if (state != CS_PREPARE_TO_COMMIT) { // Force timeout regardless of state c_appl_timeout_value = 1; setApiConTimer(transPtr.i, TtcTimer - 2, __LINE__); timeOutFoundLab(signal, transPtr.i, ZNODEFAIL_BEFORE_COMMIT); c_appl_timeout_value = TapplTimeout; } } // Send CONTINUEB to continue later signal->theData[0] = TcContinueB::ZNF_CHECK_TRANSACTIONS; Loading
storage/ndb/test/ndbapi/testNodeRestart.cpp +11 −3 Original line number Diff line number Diff line Loading @@ -887,6 +887,9 @@ int runBug20185(NDBT_Context* ctx, NDBT_Step* step){ return NDBT_FAILED; NdbSleep_MilliSleep(3000); Vector<int> nodes; for (Uint32 i = 0; i<restarter.getNumDbNodes(); i++) nodes.push_back(restarter.getDbNodeId(i)); retry: if(hugoOps.startTransaction(pNdb) != 0) Loading @@ -910,11 +913,16 @@ int runBug20185(NDBT_Context* ctx, NDBT_Step* step){ nodeId = restarter.getDbNodeId(rand() % restarter.getNumDbNodes()); } while (nodeId == node); if (restarter.insertErrorInAllNodes(7030)) ndbout_c("7031 to %d", nodeId); if (restarter.insertErrorInNode(nodeId, 7031)) return NDBT_FAILED; if (restarter.insertErrorInNode(nodeId, 7031)) for (Uint32 i = 0; i<nodes.size(); i++) { if (nodes[i] != nodeId) if (restarter.insertErrorInNode(nodes[i], 7030)) return NDBT_FAILED; } NdbSleep_MilliSleep(500); Loading