mirror of
https://github.com/MariaDB/server.git
synced 2025-01-19 13:32:33 +01:00
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
This commit is contained in:
parent
e4837b10d9
commit
01e1451ad8
2 changed files with 5 additions and 3 deletions
|
@ -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()
|
||||
|
||||
|
|
Loading…
Reference in a new issue