BUG#ndb_blob on 1 node
Make sure to flush buffer when sending long sig so that order is maintained
This commit is contained in:
parent
c2e13da240
commit
7fa2b4ef4e
@ -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
|
||||
@ -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…
x
Reference in New Issue
Block a user