Commit 6b38100d authored by unknown's avatar unknown
Browse files

bug#8786 - ndb autodiscover, sometimes fails

  remove dict forwarding
  add api retries on NotMaster
  


ndb/include/kernel/signaldata/AlterIndx.hpp:
  Add NotMaster error code
ndb/include/kernel/signaldata/BuildIndx.hpp:
  Add NotMaster error code
ndb/include/kernel/signaldata/CreateIndx.hpp:
  Add NotMaster error code
ndb/include/kernel/signaldata/CreateTrig.hpp:
  Add NotMaster error code
ndb/include/kernel/signaldata/DropIndx.hpp:
  Add NotMaster error code
ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
  Never forward requests,
    instead REF to API who will retry towards correct node
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
  1) Set error code for timeout
  2) Handle NotMaster with retry in all DICT requests
ndb/src/ndbapi/ndb_cluster_connection.cpp:
  Fix so that input values is in seconds and not 100ms's
sql/ha_ndbcluster.cc:
  Wait 3 sec for all nodes to connect...
parent bf88db5c
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -181,6 +181,7 @@ public:
  enum ErrorCode {
    NoError = 0,
    Busy = 701,
    NotMaster = 702,
    IndexNotFound = 4243,
    IndexExists = 4244,
    BadRequestType = 4247,
+1 −0
Original line number Diff line number Diff line
@@ -234,6 +234,7 @@ public:
  enum ErrorCode {
    NoError = 0,
    Busy = 701,
    NotMaster = 702,
    BadRequestType = 4247,
    InvalidPrimaryTable = 4249,
    InvalidIndexType = 4250,
+1 −2
Original line number Diff line number Diff line
@@ -184,7 +184,7 @@ public:
/**
 * CreateIndxRef.
 */
class CreateIndxRef {
struct CreateIndxRef {
  friend bool printCREATE_INDX_REF(FILE*, const Uint32*, Uint32, Uint16);

public:
@@ -210,7 +210,6 @@ public:
    InvalidAttributeOrder = 4255
  };

private:
  CreateIndxConf m_conf;
  //Uint32 m_userRef;
  //Uint32 m_connectionPtr;
+1 −0
Original line number Diff line number Diff line
@@ -288,6 +288,7 @@ public:
  enum ErrorCode {
    NoError = 0,
    Busy = 701,
    NotMaster = 702,
    TriggerNameTooLong = 4236,
    TooManyTriggers = 4237,
    TriggerNotFound = 4238,
+2 −2
Original line number Diff line number Diff line
@@ -160,7 +160,7 @@ public:
/**
 * DropIndxRef.
 */
class DropIndxRef {
struct DropIndxRef {
  friend bool printDROP_INDX_REF(FILE*, const Uint32*, Uint32, Uint16);

public:
@@ -168,6 +168,7 @@ public:
    NoError = 0,
    InvalidIndexVersion = 241,
    Busy = 701,
    NotMaster = 702,
    IndexNotFound = 4243,
    BadRequestType = 4247,
    InvalidName = 4248,
@@ -175,7 +176,6 @@ public:
  };
  STATIC_CONST( SignalLength = DropIndxConf::SignalLength + 3 );

private:
  DropIndxConf m_conf;
  //Uint32 m_userRef;
  //Uint32 m_connectionPtr;
Loading