Loading ndb/include/kernel/signaldata/BackupImpl.hpp +8 −1 Original line number Diff line number Diff line Loading @@ -33,7 +33,7 @@ class DefineBackupReq { friend bool printDEFINE_BACKUP_REQ(FILE *, const Uint32 *, Uint32, Uint16); public: STATIC_CONST( SignalLength = 8 + NdbNodeBitmask::Size); STATIC_CONST( SignalLength = 9 + NdbNodeBitmask::Size); private: /** Loading @@ -60,6 +60,13 @@ private: * Length of backup data */ Uint32 backupDataLen; /** * Backup flags */ /* & 0x3 - waitCompleted */ Uint32 flags; }; class DefineBackupRef { Loading ndb/include/kernel/signaldata/BackupSignalData.hpp +4 −1 Original line number Diff line number Diff line Loading @@ -36,11 +36,14 @@ class BackupReq { friend bool printBACKUP_REQ(FILE *, const Uint32 *, Uint32, Uint16); public: STATIC_CONST( SignalLength = 2 ); STATIC_CONST( SignalLength = 3 ); private: Uint32 senderData; Uint32 backupDataLen; /* & 0x3 - waitCompleted */ Uint32 flags; }; class BackupData { Loading ndb/include/kernel/signaldata/NFCompleteRep.hpp +1 −17 Original line number Diff line number Diff line Loading @@ -30,28 +30,12 @@ * from the failed NDB node * */ class NFCompleteRep { /** * Sender(s) */ friend class Dbdict; friend class Dblqh; friend class Dbtc; friend class Qmgr; /** * Sender/Reciver */ friend class Dbdih; friend class ClusterMgr; struct NFCompleteRep { friend bool printNF_COMPLETE_REP(FILE *, const Uint32 *, Uint32, Uint16); public: STATIC_CONST( SignalLength = 5 ); private: /** * Which block has completed... * Loading ndb/include/kernel/signaldata/NodeFailRep.hpp +1 −27 Original line number Diff line number Diff line Loading @@ -24,34 +24,8 @@ * This signals is sent by Qmgr to NdbCntr * and then from NdbCntr sent to: dih, dict, lqh, tc & API */ class NodeFailRep { /** * Sender(s) */ friend class Qmgr; /** * Sender(s) / Reciver(s) */ friend class Ndbcntr; friend class Dbdict; /** * Reciver(s) */ friend class Dbdih; friend class Dblqh; friend class Dbtc; friend class ClusterMgr; friend class Trix; friend class Backup; friend class Suma; friend class Grep; friend class SafeCounterManager; public: struct NodeFailRep { STATIC_CONST( SignalLength = 3 + NodeBitmask::Size ); private: Uint32 failNo; Loading ndb/src/kernel/blocks/backup/Backup.cpp +31 −11 Original line number Diff line number Diff line Loading @@ -69,6 +69,9 @@ static const Uint32 BACKUP_SEQUENCE = 0x1F000000; static Uint32 g_TypeOfStart = NodeState::ST_ILLEGAL_TYPE; #define SEND_BACKUP_STARTED_FLAG(A) (((A) & 0x3) > 0) #define SEND_BACKUP_COMPLETED_FLAG(A) (((A) & 0x3) > 1) void Backup::execSTTOR(Signal* signal) { Loading Loading @@ -852,6 +855,7 @@ Backup::execBACKUP_REQ(Signal* signal) const Uint32 senderData = req->senderData; const BlockReference senderRef = signal->senderBlockRef(); const Uint32 dataLen32 = req->backupDataLen; // In 32 bit words const Uint32 flags = signal->getLength() > 2 ? req->flags : 2; if(getOwnNodeId() != getMasterNodeId()) { jam(); Loading Loading @@ -894,6 +898,7 @@ Backup::execBACKUP_REQ(Signal* signal) ptr.p->errorCode = 0; ptr.p->clientRef = senderRef; ptr.p->clientData = senderData; ptr.p->flags = flags; ptr.p->masterRef = reference(); ptr.p->nodes = c_aliveNodes; ptr.p->backupId = 0; Loading Loading @@ -931,7 +936,10 @@ void Backup::sendBackupRef(Signal* signal, BackupRecordPtr ptr, Uint32 errorCode) { jam(); if (SEND_BACKUP_STARTED_FLAG(ptr.p->flags)) { sendBackupRef(ptr.p->clientRef, signal, ptr.p->clientData, errorCode); } cleanup(signal, ptr); } Loading Loading @@ -1098,6 +1106,7 @@ Backup::sendDefineBackupReq(Signal *signal, BackupRecordPtr ptr) req->backupKey[1] = ptr.p->backupKey[1]; req->nodes = ptr.p->nodes; req->backupDataLen = ptr.p->backupDataLen; req->flags = ptr.p->flags; ptr.p->masterData.gsn = GSN_DEFINE_BACKUP_REQ; ptr.p->masterData.sendCounter = ptr.p->nodes; Loading Loading @@ -1193,12 +1202,17 @@ Backup::defineBackupReply(Signal* signal, BackupRecordPtr ptr, Uint32 nodeId) /** * Reply to client */ CRASH_INSERTION((10034)); BackupConf * conf = (BackupConf*)signal->getDataPtrSend(); conf->backupId = ptr.p->backupId; conf->senderData = ptr.p->clientData; conf->nodes = ptr.p->nodes; if (SEND_BACKUP_STARTED_FLAG(ptr.p->flags)) { sendSignal(ptr.p->clientRef, GSN_BACKUP_CONF, signal, BackupConf::SignalLength, JBB); } signal->theData[0] = EventReport::BackupStarted; signal->theData[1] = ptr.p->clientRef; Loading Loading @@ -2090,8 +2104,11 @@ Backup::stopBackupReply(Signal* signal, BackupRecordPtr ptr, Uint32 nodeId) rep->noOfLogBytes = ptr.p->noOfLogBytes; rep->noOfLogRecords = ptr.p->noOfLogRecords; rep->nodes = ptr.p->nodes; if (SEND_BACKUP_COMPLETED_FLAG(ptr.p->flags)) { sendSignal(ptr.p->clientRef, GSN_BACKUP_COMPLETE_REP, signal, BackupCompleteRep::SignalLength, JBB); } signal->theData[0] = EventReport::BackupCompleted; signal->theData[1] = ptr.p->clientRef; Loading Loading @@ -2133,9 +2150,11 @@ Backup::masterAbort(Signal* signal, BackupRecordPtr ptr) rep->backupId = ptr.p->backupId; rep->senderData = ptr.p->clientData; rep->reason = ptr.p->errorCode; if (SEND_BACKUP_COMPLETED_FLAG(ptr.p->flags)) { sendSignal(ptr.p->clientRef, GSN_BACKUP_ABORT_REP, signal, BackupAbortRep::SignalLength, JBB); } signal->theData[0] = EventReport::BackupAborted; signal->theData[1] = ptr.p->clientRef; signal->theData[2] = ptr.p->backupId; Loading Loading @@ -2267,6 +2286,7 @@ Backup::execDEFINE_BACKUP_REQ(Signal* signal) ptr.p->errorCode = 0; ptr.p->clientRef = req->clientRef; ptr.p->clientData = req->clientData; ptr.p->flags = req->flags; ptr.p->masterRef = senderRef; ptr.p->nodes = req->nodes; ptr.p->backupId = backupId; Loading Loading
ndb/include/kernel/signaldata/BackupImpl.hpp +8 −1 Original line number Diff line number Diff line Loading @@ -33,7 +33,7 @@ class DefineBackupReq { friend bool printDEFINE_BACKUP_REQ(FILE *, const Uint32 *, Uint32, Uint16); public: STATIC_CONST( SignalLength = 8 + NdbNodeBitmask::Size); STATIC_CONST( SignalLength = 9 + NdbNodeBitmask::Size); private: /** Loading @@ -60,6 +60,13 @@ private: * Length of backup data */ Uint32 backupDataLen; /** * Backup flags */ /* & 0x3 - waitCompleted */ Uint32 flags; }; class DefineBackupRef { Loading
ndb/include/kernel/signaldata/BackupSignalData.hpp +4 −1 Original line number Diff line number Diff line Loading @@ -36,11 +36,14 @@ class BackupReq { friend bool printBACKUP_REQ(FILE *, const Uint32 *, Uint32, Uint16); public: STATIC_CONST( SignalLength = 2 ); STATIC_CONST( SignalLength = 3 ); private: Uint32 senderData; Uint32 backupDataLen; /* & 0x3 - waitCompleted */ Uint32 flags; }; class BackupData { Loading
ndb/include/kernel/signaldata/NFCompleteRep.hpp +1 −17 Original line number Diff line number Diff line Loading @@ -30,28 +30,12 @@ * from the failed NDB node * */ class NFCompleteRep { /** * Sender(s) */ friend class Dbdict; friend class Dblqh; friend class Dbtc; friend class Qmgr; /** * Sender/Reciver */ friend class Dbdih; friend class ClusterMgr; struct NFCompleteRep { friend bool printNF_COMPLETE_REP(FILE *, const Uint32 *, Uint32, Uint16); public: STATIC_CONST( SignalLength = 5 ); private: /** * Which block has completed... * Loading
ndb/include/kernel/signaldata/NodeFailRep.hpp +1 −27 Original line number Diff line number Diff line Loading @@ -24,34 +24,8 @@ * This signals is sent by Qmgr to NdbCntr * and then from NdbCntr sent to: dih, dict, lqh, tc & API */ class NodeFailRep { /** * Sender(s) */ friend class Qmgr; /** * Sender(s) / Reciver(s) */ friend class Ndbcntr; friend class Dbdict; /** * Reciver(s) */ friend class Dbdih; friend class Dblqh; friend class Dbtc; friend class ClusterMgr; friend class Trix; friend class Backup; friend class Suma; friend class Grep; friend class SafeCounterManager; public: struct NodeFailRep { STATIC_CONST( SignalLength = 3 + NodeBitmask::Size ); private: Uint32 failNo; Loading
ndb/src/kernel/blocks/backup/Backup.cpp +31 −11 Original line number Diff line number Diff line Loading @@ -69,6 +69,9 @@ static const Uint32 BACKUP_SEQUENCE = 0x1F000000; static Uint32 g_TypeOfStart = NodeState::ST_ILLEGAL_TYPE; #define SEND_BACKUP_STARTED_FLAG(A) (((A) & 0x3) > 0) #define SEND_BACKUP_COMPLETED_FLAG(A) (((A) & 0x3) > 1) void Backup::execSTTOR(Signal* signal) { Loading Loading @@ -852,6 +855,7 @@ Backup::execBACKUP_REQ(Signal* signal) const Uint32 senderData = req->senderData; const BlockReference senderRef = signal->senderBlockRef(); const Uint32 dataLen32 = req->backupDataLen; // In 32 bit words const Uint32 flags = signal->getLength() > 2 ? req->flags : 2; if(getOwnNodeId() != getMasterNodeId()) { jam(); Loading Loading @@ -894,6 +898,7 @@ Backup::execBACKUP_REQ(Signal* signal) ptr.p->errorCode = 0; ptr.p->clientRef = senderRef; ptr.p->clientData = senderData; ptr.p->flags = flags; ptr.p->masterRef = reference(); ptr.p->nodes = c_aliveNodes; ptr.p->backupId = 0; Loading Loading @@ -931,7 +936,10 @@ void Backup::sendBackupRef(Signal* signal, BackupRecordPtr ptr, Uint32 errorCode) { jam(); if (SEND_BACKUP_STARTED_FLAG(ptr.p->flags)) { sendBackupRef(ptr.p->clientRef, signal, ptr.p->clientData, errorCode); } cleanup(signal, ptr); } Loading Loading @@ -1098,6 +1106,7 @@ Backup::sendDefineBackupReq(Signal *signal, BackupRecordPtr ptr) req->backupKey[1] = ptr.p->backupKey[1]; req->nodes = ptr.p->nodes; req->backupDataLen = ptr.p->backupDataLen; req->flags = ptr.p->flags; ptr.p->masterData.gsn = GSN_DEFINE_BACKUP_REQ; ptr.p->masterData.sendCounter = ptr.p->nodes; Loading Loading @@ -1193,12 +1202,17 @@ Backup::defineBackupReply(Signal* signal, BackupRecordPtr ptr, Uint32 nodeId) /** * Reply to client */ CRASH_INSERTION((10034)); BackupConf * conf = (BackupConf*)signal->getDataPtrSend(); conf->backupId = ptr.p->backupId; conf->senderData = ptr.p->clientData; conf->nodes = ptr.p->nodes; if (SEND_BACKUP_STARTED_FLAG(ptr.p->flags)) { sendSignal(ptr.p->clientRef, GSN_BACKUP_CONF, signal, BackupConf::SignalLength, JBB); } signal->theData[0] = EventReport::BackupStarted; signal->theData[1] = ptr.p->clientRef; Loading Loading @@ -2090,8 +2104,11 @@ Backup::stopBackupReply(Signal* signal, BackupRecordPtr ptr, Uint32 nodeId) rep->noOfLogBytes = ptr.p->noOfLogBytes; rep->noOfLogRecords = ptr.p->noOfLogRecords; rep->nodes = ptr.p->nodes; if (SEND_BACKUP_COMPLETED_FLAG(ptr.p->flags)) { sendSignal(ptr.p->clientRef, GSN_BACKUP_COMPLETE_REP, signal, BackupCompleteRep::SignalLength, JBB); } signal->theData[0] = EventReport::BackupCompleted; signal->theData[1] = ptr.p->clientRef; Loading Loading @@ -2133,9 +2150,11 @@ Backup::masterAbort(Signal* signal, BackupRecordPtr ptr) rep->backupId = ptr.p->backupId; rep->senderData = ptr.p->clientData; rep->reason = ptr.p->errorCode; if (SEND_BACKUP_COMPLETED_FLAG(ptr.p->flags)) { sendSignal(ptr.p->clientRef, GSN_BACKUP_ABORT_REP, signal, BackupAbortRep::SignalLength, JBB); } signal->theData[0] = EventReport::BackupAborted; signal->theData[1] = ptr.p->clientRef; signal->theData[2] = ptr.p->backupId; Loading Loading @@ -2267,6 +2286,7 @@ Backup::execDEFINE_BACKUP_REQ(Signal* signal) ptr.p->errorCode = 0; ptr.p->clientRef = req->clientRef; ptr.p->clientData = req->clientData; ptr.p->flags = req->flags; ptr.p->masterRef = senderRef; ptr.p->nodes = req->nodes; ptr.p->backupId = backupId; Loading