1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-26 01:44:06 +03:00
Files
mariadb/ndb/include/kernel/signaldata/DumpStateOrd.hpp
unknown 9ed1b84346 Bug#26293 cluster mgmt node sometimes doesn't receive events from all nodes on restart
- signals where sometimes sent too early when setting up subscriptions


ndb/include/kernel/signaldata/DumpStateOrd.hpp:
  added dump for active subscriptions in cmvmi
ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
  added dump for active subscriptions in cmvmi
ndb/src/mgmsrv/MgmtSrvr.cpp:
  bug in that signals where sent prior to api reg conf arrived, causing thrown away signals and subsequent hangs in mgmtserver
  also add retry if node connected but not yet received api reg conf
ndb/src/ndbapi/ClusterMgr.cpp:
  added status variable m_api_reg_conf in cluster manager to correctly be able to determine if a node is sendable
ndb/src/ndbapi/ClusterMgr.hpp:
  added status variable m_api_reg_conf in cluster manager to correctly be able to determine if a node is sendable
ndb/src/ndbapi/SignalSender.cpp:
  assert to see that node is sendable when signal is sent
ndb/src/ndbapi/SignalSender.hpp:
  manke metchd const
2007-02-14 11:05:38 +07:00

152 lines
4.3 KiB
C++

/* Copyright (C) 2003 MySQL AB
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; version 2 of the License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
#ifndef DUMP_STATE_ORD_HPP
#define DUMP_STATE_ORD_HPP
#include "SignalData.hpp"
/**
* DumpStateOrd is sent by the mgmtsrvr to CMVMI.
* CMVMI the redirect the signal to all blocks.
*
* The implementation of the DumpStateOrd should dump state information
* (typically using the infoEvent-function)
*/
class DumpStateOrd {
/**
* Sender/Reciver
*/
friend class Cmvmi;
/**
* Sender(s)
*/
friend class MgmtSrvr;
/**
* Reciver(s)
*/
friend class Dbacc;
friend class Dblqh;
friend class Dbtup;
friend class Dbtc;
friend class Ndbcntr;
friend class Qmgr;
friend class Dbdih;
friend class Dbdict;
friend class Ndbfs;
public:
enum DumpStateType {
// 1 QMGR Dump information about phase 1 variables
// 13 CMVMI Dump signal counter
// 13 NDBCNTR Dump start phase information
// 13 NDBCNTR_REF Dump start phase information
CommitAckMarkersSize = 14, // TC+LQH Dump free size in commitAckMarkerP
CommitAckMarkersDump = 15, // TC+LQH Dump info in commitAckMarkerPool
DihDumpNodeRestartInfo = 16, // 16 DIH Dump node restart info
DihDumpNodeStatusInfo = 17,// 17 DIH Dump node status info
DihPrintFragmentation = 18,// 18 DIH Print fragmentation
// 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
QmgrErr935 = 935,
NdbfsDumpFileStat = 400,
NdbfsDumpAllFiles = 401,
NdbfsDumpOpenFiles = 402,
NdbfsDumpIdleFiles = 403,
// 1222-1225 DICT
LqhDumpAllDefinedTabs = 1332,
LqhDumpNoLogPages = 1333,
LqhDumpOneScanRec = 2300,
LqhDumpAllScanRec = 2301,
LqhDumpAllActiveScanRec = 2302,
LqhDumpLcpState = 2303,
LqhErrorInsert5042 = 2315,
AccDumpOneScanRec = 2400,
AccDumpAllScanRec = 2401,
AccDumpAllActiveScanRec = 2402,
AccDumpOneOperationRec = 2403,
AccDumpNumOpRecs = 2404,
AccDumpFreeOpRecs = 2405,
AccDumpNotFreeOpRecs = 2406,
DumpPageMemory = 1000, // Acc & TUP
TcDumpAllScanFragRec = 2500,
TcDumpOneScanFragRec = 2501,
TcDumpAllScanRec = 2502,
TcDumpAllActiveScanRec = 2503,
TcDumpOneScanRec = 2504,
TcDumpOneApiConnectRec = 2505,
TcDumpAllApiConnectRec = 2506,
TcSetTransactionTimeout = 2507,
TcSetApplTransactionTimeout = 2508,
StartTcTimer = 2509,
StopTcTimer = 2510,
StartPeriodicTcTimer = 2511,
TcStartDumpIndexOpCount = 2512,
TcDumpIndexOpCount = 2513,
CmvmiDumpConnections = 2600,
CmvmiDumpLongSignalMemory = 2601,
CmvmiSetRestartOnErrorInsert = 2602,
CmvmiTestLongSigWithDelay = 2603,
CmvmiDumpSubscriptions = 2604, /* note: done to respective outfile
to be able to debug if events
for some reason does not end up
in clusterlog */
// 7000 DIH
// 7001 DIH
// 7002 DIH
// 7003 DIH
// 7004 DIH
// 7005 DIH
// 7006 DIH
// 7006 DIH
// 7007 DIH
// 7008 DIH
// 7009 DIH
// 7010 DIH
// 7011 DIH
// 7012 DIH
DihDumpLCPState= 7013,
DihDumpLCPMasterTakeOver = 7014,
// 7015 DIH
DihAllAllowNodeStart = 7016,
DihMinTimeBetweenLCP = 7017,
DihMaxTimeBetweenLCP = 7018,
// 7019
// 7020
// 7021
EnableUndoDelayDataWrite = 7080, // DIH+ACC+TUP
DihSetTimeBetweenGcp = 7090,
DihStartLcpImmediately = 7099,
// 8000 Suma
// 12000 Tux
TuxLogToFile = 12001,
TuxSetLogFlags = 12002,
TuxMetaDataJunk = 12009
};
public:
Uint32 args[25]; // Generic argument
};
#endif