Commit 92abbaf5 authored by joreland@mysql.com's avatar joreland@mysql.com

Restore transid when flushing

parent 91cb0fbc
...@@ -134,6 +134,10 @@ void Dbtup::sendReadAttrinfo(Signal* signal, ...@@ -134,6 +134,10 @@ void Dbtup::sendReadAttrinfo(Signal* signal,
const Operationrec * const regOperPtr) const Operationrec * const regOperPtr)
{ {
const BlockReference recBlockref = regOperPtr->recBlockref; const BlockReference recBlockref = regOperPtr->recBlockref;
const Uint32 sig0 = regOperPtr->tcOperationPtr;
const Uint32 sig1 = regOperPtr->transid1;
const Uint32 sig2 = regOperPtr->transid2;
const Uint32 block = refToBlock(recBlockref); const Uint32 block = refToBlock(recBlockref);
const Uint32 nodeId = refToNode(recBlockref); const Uint32 nodeId = refToNode(recBlockref);
...@@ -141,8 +145,8 @@ void Dbtup::sendReadAttrinfo(Signal* signal, ...@@ -141,8 +145,8 @@ void Dbtup::sendReadAttrinfo(Signal* signal,
const Uint32 type = getNodeInfo(nodeId).m_type; const Uint32 type = getNodeInfo(nodeId).m_type;
bool is_api = (type >= NodeInfo::API && type <= NodeInfo::REP); bool is_api = (type >= NodeInfo::API && type <= NodeInfo::REP);
bool old_dest = (getNodeInfo(nodeId).m_version < MAKE_VERSION(3,5,0)); bool old_dest = (getNodeInfo(nodeId).m_version < MAKE_VERSION(3,5,0));
Uint32 TpacketTA = hostBuffer[nodeId].noOfPacketsTA; const Uint32 TpacketTA = hostBuffer[nodeId].noOfPacketsTA;
Uint32 TpacketLen = hostBuffer[nodeId].packetLenTA; const Uint32 TpacketLen = hostBuffer[nodeId].packetLenTA;
if (ERROR_INSERTED(4006) && (nodeId != getOwnNodeId())){ if (ERROR_INSERTED(4006) && (nodeId != getOwnNodeId())){
// Use error insert to turn routing on // Use error insert to turn routing on
...@@ -150,15 +154,11 @@ void Dbtup::sendReadAttrinfo(Signal* signal, ...@@ -150,15 +154,11 @@ void Dbtup::sendReadAttrinfo(Signal* signal,
connectedToNode = false; connectedToNode = false;
} }
Uint32 sig0 = regOperPtr->tcOperationPtr;
Uint32 sig1 = regOperPtr->transid1;
Uint32 sig2 = regOperPtr->transid2;
TransIdAI * transIdAI = (TransIdAI *)signal->getDataPtrSend(); TransIdAI * transIdAI = (TransIdAI *)signal->getDataPtrSend();
transIdAI->connectPtr = sig0; transIdAI->connectPtr = sig0;
transIdAI->transId[0] = sig1; transIdAI->transId[0] = sig1;
transIdAI->transId[1] = sig2; transIdAI->transId[1] = sig2;
if (connectedToNode){ if (connectedToNode){
/** /**
* Own node -> execute direct * Own node -> execute direct
...@@ -183,6 +183,9 @@ void Dbtup::sendReadAttrinfo(Signal* signal, ...@@ -183,6 +183,9 @@ void Dbtup::sendReadAttrinfo(Signal* signal,
sendSignal(TBref, GSN_TRANSID_AI, signal, TpacketLen, JBB); sendSignal(TBref, GSN_TRANSID_AI, signal, TpacketLen, JBB);
hostBuffer[nodeId].noOfPacketsTA = 0; hostBuffer[nodeId].noOfPacketsTA = 0;
hostBuffer[nodeId].packetLenTA = 0; hostBuffer[nodeId].packetLenTA = 0;
transIdAI->connectPtr = sig0;
transIdAI->transId[0] = sig1;
transIdAI->transId[1] = sig2;
}//if }//if
LinearSectionPtr ptr[3]; LinearSectionPtr ptr[3];
ptr[0].p = &signal->theData[25]; ptr[0].p = &signal->theData[25];
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment