4991 Ole John Aske 2012-09-25
Fix for bug#14550056 BUSY WAIT IN DBTC::REMOVEMARKERFORFAILEDAPI IF CLIENT DISCONNECT WITH OPEN TXNS
In case Dbtc::removeMarkerForFailedAPI() waits for open transactions to be terminated,
it should do that with a 'sendSignalWithDelay(..., GSN_CONTINUEB, 1ms, ...)', instead of
a plain 'sendSignal()' which will cause a busy loop.
modified:
storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp
4990 Maitrayi Sabaratnam 2012-09-25
Bug#14329309 - ADD NUMBER OF RETRIES AND DELAY BETWEEN RETRIES AS START OPTIONS TO NDBD
modified:
storage/ndb/src/kernel/angel.cpp
storage/ndb/src/kernel/angel.hpp
storage/ndb/src/kernel/main.cpp
storage/ndb/src/kernel/ndbd.cpp
storage/ndb/src/kernel/ndbd.hpp
storage/ndb/src/kernel/vm/Configuration.cpp
storage/ndb/src/kernel/vm/Configuration.hpp
storage/ndb/src/mgmapi/mgmapi.cpp
=== modified file 'storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp'
--- a/storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp 2012-09-13 08:05:29 +0000
+++ b/storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp 2012-09-25 11:27:32 +0000
@@ -1173,9 +1173,13 @@ Dbtc::removeMarkerForFailedAPI(Signal* s
/**
* The record is still active
*
- * Don't remove it, but continueb instead
+ * Don't remove it, but continueb retry with a short delay
*/
- break;
+ signal->theData[0] = TcContinueB::ZHANDLE_FAILED_API_NODE_REMOVE_MARKERS;
+ signal->theData[1] = nodeId;
+ signal->theData[2] = iter.bucket;
+ sendSignalWithDelay(cownref, GSN_CONTINUEB, signal, 1, 3);
+ return;
}
sendRemoveMarkers(signal, iter.curr.p);
m_commitAckMarkerHash.release(iter.curr);
@@ -1183,8 +1187,9 @@ Dbtc::removeMarkerForFailedAPI(Signal* s
break;
}
m_commitAckMarkerHash.next(iter);
- }
+ } // for (... i<RT_BREAK ...)
+ // Takes a RT-break to avoid starving other activity
signal->theData[0] = TcContinueB::ZHANDLE_FAILED_API_NODE_REMOVE_MARKERS;
signal->theData[1] = nodeId;
signal->theData[2] = iter.bucket;
No bundle (reason: useless for push emails).
| Thread |
|---|
| • bzr push into mysql-5.1-telco-7.0 branch (ole.john.aske:4990 to 4991)Bug#14550056 | Ole John Aske | 26 Sep |