ndb - bug#27437

  redo extra verification code so that tupkeyref is reset just before tupkeyreq
parent e47e6f79
...@@ -3338,7 +3338,7 @@ void Dblqh::seizeTcrec() ...@@ -3338,7 +3338,7 @@ void Dblqh::seizeTcrec()
locTcConnectptr.p->tableref = RNIL; locTcConnectptr.p->tableref = RNIL;
locTcConnectptr.p->savePointId = 0; locTcConnectptr.p->savePointId = 0;
#ifdef VM_TRACE #ifdef VM_TRACE
locTcConnectptr.p->tupkeyref = 0; locTcConnectptr.p->tupkeyref = 1;
#endif #endif
cfirstfreeTcConrec = nextTc; cfirstfreeTcConrec = nextTc;
...@@ -4060,6 +4060,9 @@ void Dblqh::execACCKEYCONF(Signal* signal) ...@@ -4060,6 +4060,9 @@ void Dblqh::execACCKEYCONF(Signal* signal)
tupKeyReq->tcOpIndex = tcConnectptr.p->tcOprec; tupKeyReq->tcOpIndex = tcConnectptr.p->tcOprec;
tupKeyReq->savePointId = tcConnectptr.p->savePointId; tupKeyReq->savePointId = tcConnectptr.p->savePointId;
#ifdef VM_TRACE
tcConnectptr.p->tupkeyref = 0;
#endif
EXECUTE_DIRECT(tup, GSN_TUPKEYREQ, signal, TupKeyReq::SignalLength); EXECUTE_DIRECT(tup, GSN_TUPKEYREQ, signal, TupKeyReq::SignalLength);
}//Dblqh::execACCKEYCONF() }//Dblqh::execACCKEYCONF()
...@@ -5872,7 +5875,7 @@ void Dblqh::releaseTcrec(Signal* signal, TcConnectionrecPtr locTcConnectptr) ...@@ -5872,7 +5875,7 @@ void Dblqh::releaseTcrec(Signal* signal, TcConnectionrecPtr locTcConnectptr)
{ {
jam(); jam();
#ifdef VM_TRACE #ifdef VM_TRACE
locTcConnectptr.p->tupkeyref = 0; locTcConnectptr.p->tupkeyref = 1;
#endif #endif
locTcConnectptr.p->tcTimer = 0; locTcConnectptr.p->tcTimer = 0;
...@@ -5898,7 +5901,7 @@ void Dblqh::releaseTcrecLog(Signal* signal, TcConnectionrecPtr locTcConnectptr) ...@@ -5898,7 +5901,7 @@ void Dblqh::releaseTcrecLog(Signal* signal, TcConnectionrecPtr locTcConnectptr)
{ {
jam(); jam();
#ifdef VM_TRACE #ifdef VM_TRACE
locTcConnectptr.p->tupkeyref = 0; locTcConnectptr.p->tupkeyref = 1;
#endif #endif
locTcConnectptr.p->tcTimer = 0; locTcConnectptr.p->tcTimer = 0;
locTcConnectptr.p->transactionState = TcConnectionrec::TC_NOT_CONNECTED; locTcConnectptr.p->transactionState = TcConnectionrec::TC_NOT_CONNECTED;
...@@ -8356,8 +8359,11 @@ void Dblqh::nextScanConfLoopLab(Signal* signal) ...@@ -8356,8 +8359,11 @@ void Dblqh::nextScanConfLoopLab(Signal* signal)
tupKeyReq->tcOpIndex = tcConnectptr.p->tcOprec; tupKeyReq->tcOpIndex = tcConnectptr.p->tcOprec;
tupKeyReq->savePointId = tcConnectptr.p->savePointId; tupKeyReq->savePointId = tcConnectptr.p->savePointId;
Uint32 blockNo = refToBlock(tcConnectptr.p->tcTupBlockref); Uint32 blockNo = refToBlock(tcConnectptr.p->tcTupBlockref);
#ifdef VM_TRACE
tcConnectptr.p->tupkeyref = 0;
#endif
EXECUTE_DIRECT(blockNo, GSN_TUPKEYREQ, signal, EXECUTE_DIRECT(blockNo, GSN_TUPKEYREQ, signal,
TupKeyReq::SignalLength); TupKeyReq::SignalLength);
} }
} }
...@@ -9479,6 +9485,9 @@ void Dblqh::copySendTupkeyReqLab(Signal* signal) ...@@ -9479,6 +9485,9 @@ void Dblqh::copySendTupkeyReqLab(Signal* signal)
tupKeyReq->tcOpIndex = tcConnectptr.p->tcOprec; tupKeyReq->tcOpIndex = tcConnectptr.p->tcOprec;
tupKeyReq->savePointId = tcConnectptr.p->savePointId; tupKeyReq->savePointId = tcConnectptr.p->savePointId;
Uint32 blockNo = refToBlock(tcConnectptr.p->tcTupBlockref); Uint32 blockNo = refToBlock(tcConnectptr.p->tcTupBlockref);
#ifdef VM_TRACE
tcConnectptr.p->tupkeyref = 0;
#endif
EXECUTE_DIRECT(blockNo, GSN_TUPKEYREQ, signal, EXECUTE_DIRECT(blockNo, GSN_TUPKEYREQ, signal,
TupKeyReq::SignalLength); TupKeyReq::SignalLength);
} }
......
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