#At file:///home/jonas/src/telco-6.2/
2667 Jonas Oreland 2008-09-18
ndb - bug#39518 - report error back on SUB_CREATE_REF
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-02-20 09:04:29 +0000
+++ b/storage/ndb/src/kernel/blocks/trix/Trix.cpp 2008-09-18 14:29:25 +0000
@@ -541,7 +541,11 @@ void Trix::execUTIL_PREPARE_REF(Signal*
return;
}
subRecPtr.p = subRec;
- subRec->errorCode = BuildIndxRef::InternalError;
+ subRec->errorCode = (BuildIndxRef::ErrorCode)utilPrepareRef->errorCode;
+
+ UtilReleaseConf* conf = (UtilReleaseConf*)signal->getDataPtrSend();
+ conf->senderData = subRecPtr.i;
+ execUTIL_RELEASE_CONF(signal);
}
void Trix::execUTIL_EXECUTE_CONF(Signal* signal)
@@ -611,20 +615,27 @@ void Trix::execSUB_CREATE_REF(Signal* si
{
jamEntry();
DBUG_ENTER("Trix::execSUB_CREATE_REF");
- // THIS SIGNAL IS NEVER SENT FROM SUMA?
- /*
+
SubCreateRef * subCreateRef = (SubCreateRef *)signal->getDataPtr();
SubscriptionRecPtr subRecPtr;
SubscriptionRecord* subRec;
- subRecPtr.i = subCreateRef->subscriberData;
- if ((subRec = c_theSubscriptions.getPtr(subRecPtr.i)) == NULL) {
+ subRecPtr.i = subCreateRef->senderData;
+ if ((subRec = c_theSubscriptions.getPtr(subRecPtr.i)) == NULL)
+ {
printf("Trix::execSUB_CREATE_REF: Failed to find subscription data %u\n",
subRecPtr.i);
return;
}
subRecPtr.p = subRec;
- buildFailed(signal, subRecPtr, BuildIndxRef::InternalError);
- */
+ subRecPtr.p->errorCode = (BuildIndxRef::ErrorCode)subCreateRef->errorCode;
+
+ UtilReleaseReq * const req = (UtilReleaseReq*)signal->getDataPtrSend();
+ req->prepareId = subRecPtr.p->prepareId;
+ req->senderData = subRecPtr.i;
+
+ sendSignal(DBUTIL_REF, GSN_UTIL_RELEASE_REQ, signal,
+ UtilReleaseReq::SignalLength, JBB);
+
DBUG_VOID_RETURN;
}
@@ -731,6 +742,7 @@ void Trix::setupSubscription(Signal* sig
sendSignal(SUMA_REF, GSN_SUB_CREATE_REQ,
signal, SubCreateReq::SignalLength, JBB);
+
DBUG_VOID_RETURN;
}
| Thread |
|---|
| • bzr commit into mysql-5.1 branch (jonas:2667) Bug#39518 | Jonas Oreland | 18 Sep |