Commit 01e1451a authored by unknown's avatar unknown

Bug#4586 + TC fix


ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
  Operations with marker always leads to abort even
  if IgnoreError was supplied (limitation)
  
  Check marker before marking operation as aborted (which removes marker)
ndb/src/kernel/blocks/dbtup/DbtupPagMan.cpp:
  Init cnoOfAllocatedPages after returnCommonArea
parent e4837b10
......@@ -4959,6 +4959,7 @@ void Dbtc::execLQHKEYREF(Signal* signal)
}
}
Uint32 marker = regTcPtr->commitAckMarker;
markOperationAborted(regApiPtr, regTcPtr);
if(regApiPtr->apiConnectstate == CS_ABORTING){
......@@ -4978,7 +4979,7 @@ void Dbtc::execLQHKEYREF(Signal* signal)
return;
}//if
if (regTcPtr->commitAckMarker != RNIL){
if (marker != RNIL){
/**
* This was an insert/update/delete/write which failed
* that contained the marker
......
......@@ -139,8 +139,9 @@ void Dbtup::initializePage()
ptrAss(pagePtr, page);
pagePtr.p->pageWord[ZPAGE_STATE_POS] = ~ZFREE_COMMON;
cnoOfAllocatedPages = 1 + MAX_PARALLELL_TUP_SRREQ;
returnCommonArea(cnoOfAllocatedPages, cnoOfPage - cnoOfAllocatedPages);
Uint32 tmp = 1 + MAX_PARALLELL_TUP_SRREQ;
returnCommonArea(tmp, cnoOfPage - tmp);
cnoOfAllocatedPages = tmp; // Is updated by returnCommonArea
c_sr_free_page_0 = ~0;
}//Dbtup::initializePage()
......
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