Commit eaff83cb authored by unknown's avatar unknown
Browse files

ndb - bug#27728 (5.1)

  Make sure API is connected to nodes when subscribing


storage/ndb/include/kernel/signaldata/SumaImpl.hpp:
  new error code
storage/ndb/src/kernel/blocks/suma/Suma.cpp:
  make sure API is connected in SUB_START_REQ
storage/ndb/src/ndbapi/ndberror.c:
  new error code
parent 2c9c4508
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -119,7 +119,8 @@ struct SubStartRef {
    Undefined = 1,
    NF_FakeErrorREF = 11,
    Busy = 701,
    NotMaster = 702
    NotMaster = 702,
    PartiallyConnected = 1421
  };

  STATIC_CONST( SignalLength = 7 );
+10 −0
Original line number Diff line number Diff line
@@ -2394,6 +2394,16 @@ Suma::execSUB_START_REQ(Signal* signal){
    sendSubStartRef(signal, 1412);
    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",
		     c_subscriberPool.getSize(),
		     c_subscriberPool.getNoOfFree()));
+1 −0
Original line number Diff line number Diff line
@@ -490,6 +490,7 @@ ErrorBundle ErrorCodes[] = {
  { 1419, DMEC, SE, "Subscription already dropped" },

  { 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" },