mirror of
https://github.com/MariaDB/server.git
synced 2025-02-01 03:21:53 +01:00
ndb - bug#20185
second try - handle CS_PREPARE_TO_COMMIT explicitly
This commit is contained in:
parent
ee0b2615f3
commit
97df411f36
1 changed files with 11 additions and 6 deletions
|
@ -7093,15 +7093,20 @@ Dbtc::nodeFailCheckTransactions(Signal* signal,
|
|||
for (transPtr.i = transPtrI; transPtr.i < capiConnectFilesize; transPtr.i++)
|
||||
{
|
||||
ptrCheckGuard(transPtr, capiConnectFilesize, apiConnectRecord);
|
||||
Uiint32 state = transPtr.p->apiConnectstate;
|
||||
if (transPtr.p->m_transaction_nodes.get(failedNodeId))
|
||||
{
|
||||
jam();
|
||||
|
||||
// Force timeout regardless of state
|
||||
c_appl_timeout_value = 1;
|
||||
setApiConTimer(transPtr.i, TtcTimer - 2, __LINE__);
|
||||
timeOutFoundLab(signal, transPtr.i, ZNODEFAIL_BEFORE_COMMIT);
|
||||
c_appl_timeout_value = TapplTimeout;
|
||||
|
||||
// avoid assertion in timeoutfoundlab
|
||||
if (state != CS_PREPARE_TO_COMMIT)
|
||||
{
|
||||
// Force timeout regardless of state
|
||||
c_appl_timeout_value = 1;
|
||||
setApiConTimer(transPtr.i, TtcTimer - 2, __LINE__);
|
||||
timeOutFoundLab(signal, transPtr.i, ZNODEFAIL_BEFORE_COMMIT);
|
||||
c_appl_timeout_value = TapplTimeout;
|
||||
}
|
||||
}
|
||||
|
||||
// Send CONTINUEB to continue later
|
||||
|
|
Loading…
Add table
Reference in a new issue