#At file:///home/jonas/src/telco-6.4/
2647 jonas@stripped 2008-06-07
ndb - fix race condition suma/trix scan wrt ndbmtd
since tc/lqh run in different threads,
suma could close scan before TC sent the TCKEYREQ
with scan-take-over indicator
Fixed by making sure that Trix does not reply
SUB_SYNC_CONTINUE_CONF before TCKEYCONF has arrived
modified:
storage/ndb/src/kernel/blocks/trix/Trix.cpp
=== modified file 'storage/ndb/src/kernel/blocks/trix/Trix.cpp'
--- a/storage/ndb/src/kernel/blocks/trix/Trix.cpp 2008-06-05 20:29:13 +0000
+++ b/storage/ndb/src/kernel/blocks/trix/Trix.cpp 2008-06-07 12:40:09 +0000
@@ -1105,7 +1105,8 @@ Trix::execUTIL_RELEASE_CONF(Signal* sign
void Trix::checkParallelism(Signal* signal, SubscriptionRecord* subRec)
{
if ((subRec->pendingSubSyncContinueConf) &&
- (subRec->expectedConf < subRec->parallelism)) {
+ (subRec->expectedConf == 1)) {
+ jam();
SubSyncContinueConf * subSyncContinueConf =
(SubSyncContinueConf *) signal->getDataPtrSend();
subSyncContinueConf->subscriptionId = subRec->subscriptionId;
@@ -1114,6 +1115,7 @@ void Trix::checkParallelism(Signal* sign
sendSignal(SUMA_REF, GSN_SUB_SYNC_CONTINUE_CONF, signal,
SubSyncContinueConf::SignalLength , JBB);
subRec->pendingSubSyncContinueConf = false;
+ return;
}
}
| Thread |
|---|
| • bzr commit into mysql-5.1-telco-6.4 branch (jonas:2647) | jonas | 7 Jun |