mirror of
https://github.com/MariaDB/server.git
synced 2025-09-02 09:41:40 +03:00
ndb - bug#27728 (5.1)
Make sure API is connected to nodes when subscribing
This commit is contained in:
@@ -119,7 +119,8 @@ struct SubStartRef {
|
|||||||
Undefined = 1,
|
Undefined = 1,
|
||||||
NF_FakeErrorREF = 11,
|
NF_FakeErrorREF = 11,
|
||||||
Busy = 701,
|
Busy = 701,
|
||||||
NotMaster = 702
|
NotMaster = 702,
|
||||||
|
PartiallyConnected = 1421
|
||||||
};
|
};
|
||||||
|
|
||||||
STATIC_CONST( SignalLength = 7 );
|
STATIC_CONST( SignalLength = 7 );
|
||||||
|
@@ -2394,6 +2394,16 @@ Suma::execSUB_START_REQ(Signal* signal){
|
|||||||
sendSubStartRef(signal, 1412);
|
sendSubStartRef(signal, 1412);
|
||||||
DBUG_VOID_RETURN;
|
DBUG_VOID_RETURN;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (c_startup.m_restart_server_node_id == 0 &&
|
||||||
|
!c_connected_nodes.get(refToNode(subscriberRef)))
|
||||||
|
|
||||||
|
{
|
||||||
|
jam();
|
||||||
|
sendSubStartRef(signal, SubStartRef::PartiallyConnected);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
DBUG_PRINT("info",("c_subscriberPool size: %d free: %d",
|
DBUG_PRINT("info",("c_subscriberPool size: %d free: %d",
|
||||||
c_subscriberPool.getSize(),
|
c_subscriberPool.getSize(),
|
||||||
c_subscriberPool.getNoOfFree()));
|
c_subscriberPool.getNoOfFree()));
|
||||||
|
@@ -490,6 +490,7 @@ ErrorBundle ErrorCodes[] = {
|
|||||||
{ 1419, DMEC, SE, "Subscription already dropped" },
|
{ 1419, DMEC, SE, "Subscription already dropped" },
|
||||||
|
|
||||||
{ 1420, DMEC, TR, "Subscriber manager busy with adding/removing a table" },
|
{ 1420, DMEC, TR, "Subscriber manager busy with adding/removing a table" },
|
||||||
|
{ 1421, DMEC, SE, "Partially connected API in NdbOperation::execute()" },
|
||||||
|
|
||||||
{ 4004, DMEC, AE, "Attribute name or id not found in the table" },
|
{ 4004, DMEC, AE, "Attribute name or id not found in the table" },
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user