Loading ndb/include/kernel/signaldata/CmRegSignalData.hpp +23 −6 Original line number Diff line number Diff line Loading @@ -30,12 +30,17 @@ class CmRegReq { friend class Qmgr; public: STATIC_CONST( SignalLength = 3 ); STATIC_CONST( SignalLength = 5 + NdbNodeBitmask::Size ); private: Uint32 blockRef; Uint32 nodeId; Uint32 version; // See ndb_version.h Uint32 start_type; // As specified by cmd-line or mgm, NodeState::StartType Uint32 latest_gci; // 0 means no fs Uint32 skip_nodes[NdbNodeBitmask::Size]; // Nodes that does not _need_ // to be part of restart }; /** Loading @@ -59,7 +64,6 @@ private: * The dynamic id that the node reciving this signal has */ Uint32 dynamicId; Uint32 allNdbNodes[NdbNodeBitmask::Size]; }; Loading @@ -73,7 +77,7 @@ class CmRegRef { friend class Qmgr; public: STATIC_CONST( SignalLength = 4 ); STATIC_CONST( SignalLength = 7 + NdbNodeBitmask::Size ); enum ErrorCode { ZBUSY = 0, /* Only the president can send this */ Loading @@ -85,14 +89,27 @@ public: * as president. */ ZNOT_PRESIDENT = 5, /* We are not president */ ZNOT_DEAD = 6, /* We are not dead when we are starting */ ZINCOMPATIBLE_VERSION = 7 ZINCOMPATIBLE_VERSION = 7, ZINCOMPATIBLE_START_TYPE = 8 }; private: Uint32 blockRef; Uint32 nodeId; Uint32 errorCode; /** * Applicable if ZELECTION */ Uint32 presidentCandidate; Uint32 candidate_latest_gci; // 0 means non /** * Data for sending node sending node */ Uint32 latest_gci; Uint32 start_type; Uint32 skip_nodes[NdbNodeBitmask::Size]; // Nodes that does not _need_ // to be part of restart }; class CmAdd { Loading ndb/include/kernel/signaldata/DumpStateOrd.hpp +1 −0 Original line number Diff line number Diff line Loading @@ -64,6 +64,7 @@ public: // 19 NDBFS Fipple with O_SYNC, O_CREATE etc. // 20-24 BACKUP NdbcntrTestStopOnError = 25, NdbcntrStopNodes = 70, // 100-105 TUP and ACC // 200-240 UTIL // 300-305 TRIX Loading ndb/include/kernel/signaldata/FailRep.hpp +13 −3 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ #define FAIL_REP_HPP #include "SignalData.hpp" #include <NodeBitmask.hpp> /** * Loading @@ -27,6 +28,7 @@ class FailRep { * Sender(s) & Reciver(s) */ friend class Qmgr; friend class Ndbcntr; /** * For printing Loading @@ -35,6 +37,7 @@ class FailRep { public: STATIC_CONST( SignalLength = 2 ); STATIC_CONST( ExtraLength = 1 + NdbNodeBitmask::Size ); enum FailCause { ZOWN_FAILURE=0, Loading @@ -43,13 +46,20 @@ public: ZSTART_IN_REGREQ=3, ZHEARTBEAT_FAILURE=4, ZLINK_FAILURE=5, ZOTHERNODE_FAILED_DURING_START=6 ZOTHERNODE_FAILED_DURING_START=6, ZMULTI_NODE_SHUTDOWN = 7, ZPARTITIONED_CLUSTER = 8 }; private: Uint32 failNodeId; Uint32 failCause; /** * Used when failCause == ZPARTITIONED_CLUSTER */ Uint32 president; Uint32 partition[NdbNodeBitmask::Size]; }; Loading ndb/include/kernel/signaldata/StopReq.hpp +22 −16 Original line number Diff line number Diff line Loading @@ -32,7 +32,7 @@ class StopReq friend class MgmtSrvr; public: STATIC_CONST( SignalLength = 9 ); STATIC_CONST( SignalLength = 9 + NdbNodeBitmask::Size); public: Uint32 senderRef; Loading @@ -49,29 +49,34 @@ public: Int32 readOperationTimeout; // Timeout before read operations are aborted Int32 operationTimeout; // Timeout before all operations are aborted Uint32 nodes[NdbNodeBitmask::Size]; static void setSystemStop(Uint32 & requestInfo, bool value); static void setPerformRestart(Uint32 & requestInfo, bool value); static void setNoStart(Uint32 & requestInfo, bool value); static void setInitialStart(Uint32 & requestInfo, bool value); static void setEscalateOnNodeFail(Uint32 & requestInfo, bool value); /** * Don't perform "graceful" shutdown/restart... */ static void setStopAbort(Uint32 & requestInfo, bool value); static void setStopNodes(Uint32 & requestInfo, bool value); static bool getSystemStop(const Uint32 & requestInfo); static bool getPerformRestart(const Uint32 & requestInfo); static bool getNoStart(const Uint32 & requestInfo); static bool getInitialStart(const Uint32 & requestInfo); static bool getEscalateOnNodeFail(const Uint32 & requestInfo); static bool getStopAbort(const Uint32 & requestInfo); static bool getStopNodes(const Uint32 & requestInfo); }; struct StopConf { STATIC_CONST( SignalLength = 2 ); Uint32 senderData; union { Uint32 nodeState; Uint32 nodeId; }; }; class StopRef Loading @@ -94,7 +99,9 @@ public: NodeShutdownInProgress = 1, SystemShutdownInProgress = 2, NodeShutdownWouldCauseSystemCrash = 3, TransactionAbortFailed = 4 TransactionAbortFailed = 4, UnsupportedNodeShutdown = 5, MultiNodeShutdownNotMaster = 6 }; public: Loading Loading @@ -132,16 +139,16 @@ StopReq::getInitialStart(const Uint32 & requestInfo) inline bool StopReq::getEscalateOnNodeFail(const Uint32 & requestInfo) StopReq::getStopAbort(const Uint32 & requestInfo) { return requestInfo & 16; return requestInfo & 32; } inline bool StopReq::getStopAbort(const Uint32 & requestInfo) StopReq::getStopNodes(const Uint32 & requestInfo) { return requestInfo & 32; return requestInfo & 64; } Loading Loading @@ -187,24 +194,23 @@ StopReq::setInitialStart(Uint32 & requestInfo, bool value) inline void StopReq::setEscalateOnNodeFail(Uint32 & requestInfo, bool value) StopReq::setStopAbort(Uint32 & requestInfo, bool value) { if(value) requestInfo |= 16; requestInfo |= 32; else requestInfo &= ~16; requestInfo &= ~32; } inline void StopReq::setStopAbort(Uint32 & requestInfo, bool value) StopReq::setStopNodes(Uint32 & requestInfo, bool value) { if(value) requestInfo |= 32; requestInfo |= 64; else requestInfo &= ~32; requestInfo &= ~64; } #endif ndb/include/kernel/signaldata/WaitGCP.hpp +5 −2 Original line number Diff line number Diff line Loading @@ -46,7 +46,9 @@ public: Complete = 1, ///< Wait for a GCP to complete CompleteForceStart = 2, ///< Wait for a GCP to complete start one if needed CompleteIfRunning = 3, ///< Wait for ongoing GCP CurrentGCI = 8 ///< Immediately return current GCI CurrentGCI = 8, ///< Immediately return current GCI BlockStartGcp = 9, UnblockStartGcp = 10 }; Uint32 senderRef; Loading @@ -70,11 +72,12 @@ class WaitGCPConf { //friend class Grep::PSCoord; public: STATIC_CONST( SignalLength = 2 ); STATIC_CONST( SignalLength = 3 ); public: Uint32 senderData; Uint32 gcp; Uint32 blockStatus; }; class WaitGCPRef { Loading Loading
ndb/include/kernel/signaldata/CmRegSignalData.hpp +23 −6 Original line number Diff line number Diff line Loading @@ -30,12 +30,17 @@ class CmRegReq { friend class Qmgr; public: STATIC_CONST( SignalLength = 3 ); STATIC_CONST( SignalLength = 5 + NdbNodeBitmask::Size ); private: Uint32 blockRef; Uint32 nodeId; Uint32 version; // See ndb_version.h Uint32 start_type; // As specified by cmd-line or mgm, NodeState::StartType Uint32 latest_gci; // 0 means no fs Uint32 skip_nodes[NdbNodeBitmask::Size]; // Nodes that does not _need_ // to be part of restart }; /** Loading @@ -59,7 +64,6 @@ private: * The dynamic id that the node reciving this signal has */ Uint32 dynamicId; Uint32 allNdbNodes[NdbNodeBitmask::Size]; }; Loading @@ -73,7 +77,7 @@ class CmRegRef { friend class Qmgr; public: STATIC_CONST( SignalLength = 4 ); STATIC_CONST( SignalLength = 7 + NdbNodeBitmask::Size ); enum ErrorCode { ZBUSY = 0, /* Only the president can send this */ Loading @@ -85,14 +89,27 @@ public: * as president. */ ZNOT_PRESIDENT = 5, /* We are not president */ ZNOT_DEAD = 6, /* We are not dead when we are starting */ ZINCOMPATIBLE_VERSION = 7 ZINCOMPATIBLE_VERSION = 7, ZINCOMPATIBLE_START_TYPE = 8 }; private: Uint32 blockRef; Uint32 nodeId; Uint32 errorCode; /** * Applicable if ZELECTION */ Uint32 presidentCandidate; Uint32 candidate_latest_gci; // 0 means non /** * Data for sending node sending node */ Uint32 latest_gci; Uint32 start_type; Uint32 skip_nodes[NdbNodeBitmask::Size]; // Nodes that does not _need_ // to be part of restart }; class CmAdd { Loading
ndb/include/kernel/signaldata/DumpStateOrd.hpp +1 −0 Original line number Diff line number Diff line Loading @@ -64,6 +64,7 @@ public: // 19 NDBFS Fipple with O_SYNC, O_CREATE etc. // 20-24 BACKUP NdbcntrTestStopOnError = 25, NdbcntrStopNodes = 70, // 100-105 TUP and ACC // 200-240 UTIL // 300-305 TRIX Loading
ndb/include/kernel/signaldata/FailRep.hpp +13 −3 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ #define FAIL_REP_HPP #include "SignalData.hpp" #include <NodeBitmask.hpp> /** * Loading @@ -27,6 +28,7 @@ class FailRep { * Sender(s) & Reciver(s) */ friend class Qmgr; friend class Ndbcntr; /** * For printing Loading @@ -35,6 +37,7 @@ class FailRep { public: STATIC_CONST( SignalLength = 2 ); STATIC_CONST( ExtraLength = 1 + NdbNodeBitmask::Size ); enum FailCause { ZOWN_FAILURE=0, Loading @@ -43,13 +46,20 @@ public: ZSTART_IN_REGREQ=3, ZHEARTBEAT_FAILURE=4, ZLINK_FAILURE=5, ZOTHERNODE_FAILED_DURING_START=6 ZOTHERNODE_FAILED_DURING_START=6, ZMULTI_NODE_SHUTDOWN = 7, ZPARTITIONED_CLUSTER = 8 }; private: Uint32 failNodeId; Uint32 failCause; /** * Used when failCause == ZPARTITIONED_CLUSTER */ Uint32 president; Uint32 partition[NdbNodeBitmask::Size]; }; Loading
ndb/include/kernel/signaldata/StopReq.hpp +22 −16 Original line number Diff line number Diff line Loading @@ -32,7 +32,7 @@ class StopReq friend class MgmtSrvr; public: STATIC_CONST( SignalLength = 9 ); STATIC_CONST( SignalLength = 9 + NdbNodeBitmask::Size); public: Uint32 senderRef; Loading @@ -49,29 +49,34 @@ public: Int32 readOperationTimeout; // Timeout before read operations are aborted Int32 operationTimeout; // Timeout before all operations are aborted Uint32 nodes[NdbNodeBitmask::Size]; static void setSystemStop(Uint32 & requestInfo, bool value); static void setPerformRestart(Uint32 & requestInfo, bool value); static void setNoStart(Uint32 & requestInfo, bool value); static void setInitialStart(Uint32 & requestInfo, bool value); static void setEscalateOnNodeFail(Uint32 & requestInfo, bool value); /** * Don't perform "graceful" shutdown/restart... */ static void setStopAbort(Uint32 & requestInfo, bool value); static void setStopNodes(Uint32 & requestInfo, bool value); static bool getSystemStop(const Uint32 & requestInfo); static bool getPerformRestart(const Uint32 & requestInfo); static bool getNoStart(const Uint32 & requestInfo); static bool getInitialStart(const Uint32 & requestInfo); static bool getEscalateOnNodeFail(const Uint32 & requestInfo); static bool getStopAbort(const Uint32 & requestInfo); static bool getStopNodes(const Uint32 & requestInfo); }; struct StopConf { STATIC_CONST( SignalLength = 2 ); Uint32 senderData; union { Uint32 nodeState; Uint32 nodeId; }; }; class StopRef Loading @@ -94,7 +99,9 @@ public: NodeShutdownInProgress = 1, SystemShutdownInProgress = 2, NodeShutdownWouldCauseSystemCrash = 3, TransactionAbortFailed = 4 TransactionAbortFailed = 4, UnsupportedNodeShutdown = 5, MultiNodeShutdownNotMaster = 6 }; public: Loading Loading @@ -132,16 +139,16 @@ StopReq::getInitialStart(const Uint32 & requestInfo) inline bool StopReq::getEscalateOnNodeFail(const Uint32 & requestInfo) StopReq::getStopAbort(const Uint32 & requestInfo) { return requestInfo & 16; return requestInfo & 32; } inline bool StopReq::getStopAbort(const Uint32 & requestInfo) StopReq::getStopNodes(const Uint32 & requestInfo) { return requestInfo & 32; return requestInfo & 64; } Loading Loading @@ -187,24 +194,23 @@ StopReq::setInitialStart(Uint32 & requestInfo, bool value) inline void StopReq::setEscalateOnNodeFail(Uint32 & requestInfo, bool value) StopReq::setStopAbort(Uint32 & requestInfo, bool value) { if(value) requestInfo |= 16; requestInfo |= 32; else requestInfo &= ~16; requestInfo &= ~32; } inline void StopReq::setStopAbort(Uint32 & requestInfo, bool value) StopReq::setStopNodes(Uint32 & requestInfo, bool value) { if(value) requestInfo |= 32; requestInfo |= 64; else requestInfo &= ~32; requestInfo &= ~64; } #endif
ndb/include/kernel/signaldata/WaitGCP.hpp +5 −2 Original line number Diff line number Diff line Loading @@ -46,7 +46,9 @@ public: Complete = 1, ///< Wait for a GCP to complete CompleteForceStart = 2, ///< Wait for a GCP to complete start one if needed CompleteIfRunning = 3, ///< Wait for ongoing GCP CurrentGCI = 8 ///< Immediately return current GCI CurrentGCI = 8, ///< Immediately return current GCI BlockStartGcp = 9, UnblockStartGcp = 10 }; Uint32 senderRef; Loading @@ -70,11 +72,12 @@ class WaitGCPConf { //friend class Grep::PSCoord; public: STATIC_CONST( SignalLength = 2 ); STATIC_CONST( SignalLength = 3 ); public: Uint32 senderData; Uint32 gcp; Uint32 blockStatus; }; class WaitGCPRef { Loading