Commit 0cdd8600 authored by unknown's avatar unknown
Browse files

Merge perch.ndb.mysql.com:/home/jonas/src/51-telco-gca

into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new-ndb


storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
  Auto merged
storage/ndb/test/ndbapi/testNodeRestart.cpp:
  Auto merged
parents 542c495d 75bd09a6
Loading
Loading
Loading
Loading
+5 −10
Original line number Diff line number Diff line
@@ -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;
+11 −3
Original line number Diff line number Diff line
@@ -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)
@@ -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);