Commit 571d9cdd authored by unknown's avatar unknown
Browse files

Merge perch.ndb.mysql.com:/home/jonas/src/mysql-4.1

into  perch.ndb.mysql.com:/home/jonas/src/mysql-4.1-push

parents 65ef7cc2 740123a4
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -98,6 +98,8 @@ public:
    StartTcTimer = 2509,
    StopTcTimer = 2510,
    StartPeriodicTcTimer = 2511,
    TcStartDumpIndexOpCount = 2512,
    TcDumpIndexOpCount = 2513,
    CmvmiDumpConnections = 2600,
    CmvmiDumpLongSignalMemory = 2601,
    CmvmiSetRestartOnErrorInsert = 2602,
+29 −1
Original line number Diff line number Diff line
@@ -4607,6 +4607,7 @@ void Dbtc::copyApi(Signal* signal)
  regTmpApiPtr->commitAckMarker = RNIL;
  regTmpApiPtr->firstTcConnect = RNIL;
  regTmpApiPtr->lastTcConnect = RNIL;
  releaseAllSeizedIndexOperations(regTmpApiPtr);
}//Dbtc::copyApi()

void Dbtc::unlinkApiConnect(Signal* signal) 
@@ -10134,7 +10135,7 @@ void Dbtc::releaseAbortResources(Signal* signal)
  // apiConnectptr.p->apiConnectstate = CS_CONNECTED;
  apiConnectptr.p->apiConnectstate = CS_ABORTING;
  apiConnectptr.p->abortState = AS_IDLE;

  releaseAllSeizedIndexOperations(apiConnectptr.p);
  if(apiConnectptr.p->m_exec_flag || apiConnectptr.p->apiFailState == ZTRUE){
    jam();
    bool ok = false;
@@ -10707,6 +10708,33 @@ Dbtc::execDUMP_STATE_ORD(Signal* signal)
    signal->theData[0] = TcContinueB::ZTRANS_EVENT_REP;
    sendSignalWithDelay(cownref, GSN_CONTINUEB, signal, 5000, 1);
  }

  if (dumpState->args[0] == DumpStateOrd::TcStartDumpIndexOpCount)
  {
    static int frequency = 1;
    if (signal->getLength() > 1)
      frequency = signal->theData[1];
    else
      if (refToBlock(signal->getSendersBlockRef()) != DBTC)
	frequency = 1;
    
    if (frequency)
    {
      dumpState->args[0] = DumpStateOrd::TcDumpIndexOpCount;
      execDUMP_STATE_ORD(signal);
      dumpState->args[0] = DumpStateOrd::TcStartDumpIndexOpCount;
      
      Uint32 delay = 1000 * (frequency > 25 ? 25 : frequency);
      sendSignalWithDelay(cownref, GSN_DUMP_STATE_ORD, signal, delay, 1);
    }
  }
  
  if (dumpState->args[0] == DumpStateOrd::TcDumpIndexOpCount)
  {
    infoEvent("IndexOpCount: pool: %d free: %d", 
	      c_theIndexOperationPool.getSize(),
	      c_theIndexOperationPool.getNoOfFree());
  }
}//Dbtc::execDUMP_STATE_ORD()

void Dbtc::execSET_VAR_REQ(Signal* signal)