Commit c10747ba authored by unknown's avatar unknown

Merge perch.ndb.mysql.com:/home/jonas/src/51-telco-gca

into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new-ndb


storage/ndb/src/kernel/blocks/suma/Suma.cpp:
  Auto merged
parents f653ed82 7e425280
...@@ -578,6 +578,18 @@ void Suma::execAPI_FAILREQ(Signal* signal) ...@@ -578,6 +578,18 @@ void Suma::execAPI_FAILREQ(Signal* signal)
return; return;
} }
if (c_failedApiNodes.get(failedApiNode))
{
jam();
return;
}
if (!c_subscriber_nodes.get(failedApiNode))
{
jam();
return;
}
c_failedApiNodes.set(failedApiNode); c_failedApiNodes.set(failedApiNode);
c_connected_nodes.clear(failedApiNode); c_connected_nodes.clear(failedApiNode);
bool found = removeSubscribersOnNode(signal, failedApiNode); bool found = removeSubscribersOnNode(signal, failedApiNode);
...@@ -591,9 +603,12 @@ void Suma::execAPI_FAILREQ(Signal* signal) ...@@ -591,9 +603,12 @@ void Suma::execAPI_FAILREQ(Signal* signal)
Ptr<Gcp_record> gcp; Ptr<Gcp_record> gcp;
for(c_gcp_list.first(gcp); !gcp.isNull(); c_gcp_list.next(gcp)) for(c_gcp_list.first(gcp); !gcp.isNull(); c_gcp_list.next(gcp))
{ {
jam();
ack->rep.gci = gcp.p->m_gci; ack->rep.gci = gcp.p->m_gci;
if(gcp.p->m_subscribers.get(failedApiNode)) if(gcp.p->m_subscribers.get(failedApiNode))
{ {
jam();
gcp.p->m_subscribers.clear(failedApiNode);
ack->rep.senderRef = numberToRef(0, failedApiNode); ack->rep.senderRef = numberToRef(0, failedApiNode);
sendSignal(SUMA_REF, GSN_SUB_GCP_COMPLETE_ACK, signal, sendSignal(SUMA_REF, GSN_SUB_GCP_COMPLETE_ACK, signal,
SubGcpCompleteAck::SignalLength, JBB); SubGcpCompleteAck::SignalLength, JBB);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment