Loading storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp +22 −11 Original line number Diff line number Diff line Loading @@ -2479,8 +2479,16 @@ Dblqh::execREMOVE_MARKER_ORD(Signal* signal) CommitAckMarkerPtr removedPtr; m_commitAckMarkerHash.remove(removedPtr, key); #if defined VM_TRACE || defined ERROR_INSERT ndbrequire(removedPtr.i != RNIL); m_commitAckMarkerPool.release(removedPtr); #else if (removedPtr.i != RNIL) { jam(); m_commitAckMarkerPool.release(removedPtr); } #endif #ifdef MARKER_TRACE ndbout_c("Rem marker[%.8x %.8x]", key.transid1, key.transid2); #endif Loading Loading @@ -3138,6 +3146,8 @@ void Dblqh::lqhAttrinfoLab(Signal* signal, Uint32* dataPtr, Uint32 length) { TcConnectionrec * const regTcPtr = tcConnectptr.p; if (regTcPtr->operation != ZREAD) { if (regTcPtr->operation != ZDELETE) { if (regTcPtr->opExec != 1) { if (saveTupattrbuf(signal, dataPtr, length) == ZOK) { ; Loading @@ -3152,6 +3162,7 @@ void Dblqh::lqhAttrinfoLab(Signal* signal, Uint32* dataPtr, Uint32 length) }//if }//if }//if } c_tup->receive_attrinfo(signal, regTcPtr->tupConnectrec, dataPtr, length); }//Dblqh::lqhAttrinfoLab() Loading Loading @@ -3405,7 +3416,7 @@ void Dblqh::execLQHKEYREQ(Signal* signal) markerPtr.p->tcNodeId = tcNodeId; CommitAckMarkerPtr tmp; #ifdef VM_TRACE #if defined VM_TRACE || defined ERROR_INSERT #ifdef MARKER_TRACE ndbout_c("Add marker[%.8x %.8x]", markerPtr.p->transid1, markerPtr.p->transid2); #endif Loading Loading @@ -9629,7 +9640,7 @@ Uint32 Dblqh::initScanrec(const ScanFragReq* scanFragReq) active.add(scanptr); if(scanptr.p->scanKeyinfoFlag){ jam(); #ifdef VM_TRACE #if defined VM_TRACE || defined ERROR_INSERT ScanRecordPtr tmp; ndbrequire(!c_scanTakeOverHash.find(tmp, * scanptr.p)); #endif Loading Loading @@ -9753,7 +9764,7 @@ void Dblqh::finishScanrec(Signal* signal) scans.add(restart); if(restart.p->scanKeyinfoFlag){ jam(); #ifdef VM_TRACE #if defined VM_TRACE || defined ERROR_INSERT ScanRecordPtr tmp; ndbrequire(!c_scanTakeOverHash.find(tmp, * restart.p)); #endif Loading storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp +19 −0 Original line number Diff line number Diff line Loading @@ -2824,6 +2824,12 @@ void Dbtc::execTCKEYREQ(Signal* signal) tmp.p->apiNodeId = refToNode(regApiPtr->ndbapiBlockref); tmp.p->apiConnectPtr = TapiIndex; tmp.p->noOfLqhs = 0; #if defined VM_TRACE || defined ERROR_INSERT { CommitAckMarkerPtr check; ndbrequire(!m_commitAckMarkerHash.find(check, *tmp.p)); } #endif m_commitAckMarkerHash.add(tmp); } } Loading Loading @@ -8114,6 +8120,13 @@ void Dbtc::initApiConnectFail(Signal* signal) tmp.p->noOfLqhs = 1; tmp.p->lqhNodeId[0] = tnodeid; tmp.p->apiConnectPtr = apiConnectptr.i; #if defined VM_TRACE || defined ERROR_INSERT { CommitAckMarkerPtr check; ndbrequire(!m_commitAckMarkerHash.find(check, *tmp.p)); } #endif m_commitAckMarkerHash.add(tmp); } }//Dbtc::initApiConnectFail() Loading Loading @@ -8270,6 +8283,12 @@ void Dbtc::updateApiStateFail(Signal* signal) tmp.p->noOfLqhs = 1; tmp.p->lqhNodeId[0] = tnodeid; tmp.p->apiConnectPtr = apiConnectptr.i; #if defined VM_TRACE || defined ERROR_INSERT { CommitAckMarkerPtr check; ndbrequire(!m_commitAckMarkerHash.find(check, *tmp.p)); } #endif m_commitAckMarkerHash.add(tmp); } else { jam(); Loading storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp +2 −1 Original line number Diff line number Diff line Loading @@ -1735,7 +1735,8 @@ private: Operationrec* regOperPtr, Fragrecord* regFragPtr, Tablerec* regTabPtr, KeyReqStruct* req_struct); KeyReqStruct* req_struct, bool disk); //------------------------------------------------------------------ //------------------------------------------------------------------ Loading storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp +10 −4 Original line number Diff line number Diff line Loading @@ -814,7 +814,9 @@ void Dbtup::execTUPKEYREQ(Signal* signal) { jam(); if (handleDeleteReq(signal, regOperPtr, regFragPtr, regTabPtr, &req_struct) == -1) { regFragPtr, regTabPtr, &req_struct, disk_page != RNIL) == -1) { return; } /* Loading Loading @@ -1458,7 +1460,8 @@ int Dbtup::handleDeleteReq(Signal* signal, Operationrec* regOperPtr, Fragrecord* regFragPtr, Tablerec* regTabPtr, KeyReqStruct *req_struct) KeyReqStruct *req_struct, bool disk) { // delete must set but not increment tupVersion if (!regOperPtr->is_first_operation()) Loading Loading @@ -1511,7 +1514,10 @@ int Dbtup::handleDeleteReq(Signal* signal, return 0; } if (setup_read(req_struct, regOperPtr, regFragPtr, regTabPtr, disk)) { return handleReadReq(signal, regOperPtr, regTabPtr, req_struct); } error: tupkeyErrorLab(signal); Loading storage/ndb/src/kernel/blocks/qmgr/QmgrMain.cpp +2 −0 Original line number Diff line number Diff line Loading @@ -3525,8 +3525,10 @@ void Qmgr::execCOMMIT_FAILREQ(Signal* signal) nodePtr.p->phase = ZFAIL_CLOSING; nodePtr.p->failState = WAITING_FOR_NDB_FAILCONF; setNodeInfo(nodePtr.i).m_heartbeat_cnt= 0; setNodeInfo(nodePtr.i).m_version = 0; c_clusterNodes.clear(nodePtr.i); }//for recompute_version_info(NodeInfo::DB); /*----------------------------------------------------------------------*/ /* WE INFORM THE API'S WE HAVE CONNECTED ABOUT THE FAILED NODES. */ /*----------------------------------------------------------------------*/ Loading Loading
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp +22 −11 Original line number Diff line number Diff line Loading @@ -2479,8 +2479,16 @@ Dblqh::execREMOVE_MARKER_ORD(Signal* signal) CommitAckMarkerPtr removedPtr; m_commitAckMarkerHash.remove(removedPtr, key); #if defined VM_TRACE || defined ERROR_INSERT ndbrequire(removedPtr.i != RNIL); m_commitAckMarkerPool.release(removedPtr); #else if (removedPtr.i != RNIL) { jam(); m_commitAckMarkerPool.release(removedPtr); } #endif #ifdef MARKER_TRACE ndbout_c("Rem marker[%.8x %.8x]", key.transid1, key.transid2); #endif Loading Loading @@ -3138,6 +3146,8 @@ void Dblqh::lqhAttrinfoLab(Signal* signal, Uint32* dataPtr, Uint32 length) { TcConnectionrec * const regTcPtr = tcConnectptr.p; if (regTcPtr->operation != ZREAD) { if (regTcPtr->operation != ZDELETE) { if (regTcPtr->opExec != 1) { if (saveTupattrbuf(signal, dataPtr, length) == ZOK) { ; Loading @@ -3152,6 +3162,7 @@ void Dblqh::lqhAttrinfoLab(Signal* signal, Uint32* dataPtr, Uint32 length) }//if }//if }//if } c_tup->receive_attrinfo(signal, regTcPtr->tupConnectrec, dataPtr, length); }//Dblqh::lqhAttrinfoLab() Loading Loading @@ -3405,7 +3416,7 @@ void Dblqh::execLQHKEYREQ(Signal* signal) markerPtr.p->tcNodeId = tcNodeId; CommitAckMarkerPtr tmp; #ifdef VM_TRACE #if defined VM_TRACE || defined ERROR_INSERT #ifdef MARKER_TRACE ndbout_c("Add marker[%.8x %.8x]", markerPtr.p->transid1, markerPtr.p->transid2); #endif Loading Loading @@ -9629,7 +9640,7 @@ Uint32 Dblqh::initScanrec(const ScanFragReq* scanFragReq) active.add(scanptr); if(scanptr.p->scanKeyinfoFlag){ jam(); #ifdef VM_TRACE #if defined VM_TRACE || defined ERROR_INSERT ScanRecordPtr tmp; ndbrequire(!c_scanTakeOverHash.find(tmp, * scanptr.p)); #endif Loading Loading @@ -9753,7 +9764,7 @@ void Dblqh::finishScanrec(Signal* signal) scans.add(restart); if(restart.p->scanKeyinfoFlag){ jam(); #ifdef VM_TRACE #if defined VM_TRACE || defined ERROR_INSERT ScanRecordPtr tmp; ndbrequire(!c_scanTakeOverHash.find(tmp, * restart.p)); #endif Loading
storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp +19 −0 Original line number Diff line number Diff line Loading @@ -2824,6 +2824,12 @@ void Dbtc::execTCKEYREQ(Signal* signal) tmp.p->apiNodeId = refToNode(regApiPtr->ndbapiBlockref); tmp.p->apiConnectPtr = TapiIndex; tmp.p->noOfLqhs = 0; #if defined VM_TRACE || defined ERROR_INSERT { CommitAckMarkerPtr check; ndbrequire(!m_commitAckMarkerHash.find(check, *tmp.p)); } #endif m_commitAckMarkerHash.add(tmp); } } Loading Loading @@ -8114,6 +8120,13 @@ void Dbtc::initApiConnectFail(Signal* signal) tmp.p->noOfLqhs = 1; tmp.p->lqhNodeId[0] = tnodeid; tmp.p->apiConnectPtr = apiConnectptr.i; #if defined VM_TRACE || defined ERROR_INSERT { CommitAckMarkerPtr check; ndbrequire(!m_commitAckMarkerHash.find(check, *tmp.p)); } #endif m_commitAckMarkerHash.add(tmp); } }//Dbtc::initApiConnectFail() Loading Loading @@ -8270,6 +8283,12 @@ void Dbtc::updateApiStateFail(Signal* signal) tmp.p->noOfLqhs = 1; tmp.p->lqhNodeId[0] = tnodeid; tmp.p->apiConnectPtr = apiConnectptr.i; #if defined VM_TRACE || defined ERROR_INSERT { CommitAckMarkerPtr check; ndbrequire(!m_commitAckMarkerHash.find(check, *tmp.p)); } #endif m_commitAckMarkerHash.add(tmp); } else { jam(); Loading
storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp +2 −1 Original line number Diff line number Diff line Loading @@ -1735,7 +1735,8 @@ private: Operationrec* regOperPtr, Fragrecord* regFragPtr, Tablerec* regTabPtr, KeyReqStruct* req_struct); KeyReqStruct* req_struct, bool disk); //------------------------------------------------------------------ //------------------------------------------------------------------ Loading
storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp +10 −4 Original line number Diff line number Diff line Loading @@ -814,7 +814,9 @@ void Dbtup::execTUPKEYREQ(Signal* signal) { jam(); if (handleDeleteReq(signal, regOperPtr, regFragPtr, regTabPtr, &req_struct) == -1) { regFragPtr, regTabPtr, &req_struct, disk_page != RNIL) == -1) { return; } /* Loading Loading @@ -1458,7 +1460,8 @@ int Dbtup::handleDeleteReq(Signal* signal, Operationrec* regOperPtr, Fragrecord* regFragPtr, Tablerec* regTabPtr, KeyReqStruct *req_struct) KeyReqStruct *req_struct, bool disk) { // delete must set but not increment tupVersion if (!regOperPtr->is_first_operation()) Loading Loading @@ -1511,7 +1514,10 @@ int Dbtup::handleDeleteReq(Signal* signal, return 0; } if (setup_read(req_struct, regOperPtr, regFragPtr, regTabPtr, disk)) { return handleReadReq(signal, regOperPtr, regTabPtr, req_struct); } error: tupkeyErrorLab(signal); Loading
storage/ndb/src/kernel/blocks/qmgr/QmgrMain.cpp +2 −0 Original line number Diff line number Diff line Loading @@ -3525,8 +3525,10 @@ void Qmgr::execCOMMIT_FAILREQ(Signal* signal) nodePtr.p->phase = ZFAIL_CLOSING; nodePtr.p->failState = WAITING_FOR_NDB_FAILCONF; setNodeInfo(nodePtr.i).m_heartbeat_cnt= 0; setNodeInfo(nodePtr.i).m_version = 0; c_clusterNodes.clear(nodePtr.i); }//for recompute_version_info(NodeInfo::DB); /*----------------------------------------------------------------------*/ /* WE INFORM THE API'S WE HAVE CONNECTED ABOUT THE FAILED NODES. */ /*----------------------------------------------------------------------*/ Loading