Loading ndb/src/kernel/blocks/dbtup/DbtupBuffer.cpp +15 −0 Original line number Diff line number Diff line Loading @@ -141,6 +141,8 @@ void Dbtup::sendReadAttrinfo(Signal* signal, const Uint32 type = getNodeInfo(nodeId).m_type; bool is_api = (type >= NodeInfo::API && type <= NodeInfo::REP); bool old_dest = (getNodeInfo(nodeId).m_version < MAKE_VERSION(3,5,0)); Uint32 TpacketTA = hostBuffer[nodeId].noOfPacketsTA; Uint32 TpacketLen = hostBuffer[nodeId].packetLenTA; if (ERROR_INSERTED(4006) && (nodeId != getOwnNodeId())){ // Use error insert to turn routing on Loading Loading @@ -169,6 +171,19 @@ void Dbtup::sendReadAttrinfo(Signal* signal, */ if(ToutBufIndex >= 22 && is_api && !old_dest) { ljam(); /** * Flush buffer so that order is maintained */ if (TpacketTA != 0) { ljam(); BlockReference TBref = numberToRef(API_PACKED, nodeId); MEMCOPY_NO_WORDS(&signal->theData[0], &hostBuffer[nodeId].packetBufferTA[0], TpacketLen); sendSignal(TBref, GSN_TRANSID_AI, signal, TpacketLen, JBB); hostBuffer[nodeId].noOfPacketsTA = 0; hostBuffer[nodeId].packetLenTA = 0; }//if LinearSectionPtr ptr[3]; ptr[0].p = &signal->theData[25]; ptr[0].sz = ToutBufIndex; Loading Loading
ndb/src/kernel/blocks/dbtup/DbtupBuffer.cpp +15 −0 Original line number Diff line number Diff line Loading @@ -141,6 +141,8 @@ void Dbtup::sendReadAttrinfo(Signal* signal, const Uint32 type = getNodeInfo(nodeId).m_type; bool is_api = (type >= NodeInfo::API && type <= NodeInfo::REP); bool old_dest = (getNodeInfo(nodeId).m_version < MAKE_VERSION(3,5,0)); Uint32 TpacketTA = hostBuffer[nodeId].noOfPacketsTA; Uint32 TpacketLen = hostBuffer[nodeId].packetLenTA; if (ERROR_INSERTED(4006) && (nodeId != getOwnNodeId())){ // Use error insert to turn routing on Loading Loading @@ -169,6 +171,19 @@ void Dbtup::sendReadAttrinfo(Signal* signal, */ if(ToutBufIndex >= 22 && is_api && !old_dest) { ljam(); /** * Flush buffer so that order is maintained */ if (TpacketTA != 0) { ljam(); BlockReference TBref = numberToRef(API_PACKED, nodeId); MEMCOPY_NO_WORDS(&signal->theData[0], &hostBuffer[nodeId].packetBufferTA[0], TpacketLen); sendSignal(TBref, GSN_TRANSID_AI, signal, TpacketLen, JBB); hostBuffer[nodeId].noOfPacketsTA = 0; hostBuffer[nodeId].packetLenTA = 0; }//if LinearSectionPtr ptr[3]; ptr[0].p = &signal->theData[25]; ptr[0].sz = ToutBufIndex; Loading