This is the logical cluster management block, and handles node
membership in the cluster via heartbeats.
QMGR
is responsible for polling the data
nodes when a data node failure occurs and determining that the
node has actually failed and should be dropped from the cluster.
This block contains the following files, found in
storage/ndb/src/kernel/blocks/qmgr
:
Qmgr.hpp
.
Defines the Qmgr class and associated structures,
including those used in detection of node failure and
cluster partitioning.
QmgrInit.cpp
.
Implements data and record initilization methods for
Qmgr
, as well as its destructor.
QmgrMain.cpp
.
Contains routines for monitoring of heartbeats,
detection and handling of “split-brain”
problems, and management of some startup phases.
timer.hpp
.
Defines the Timer
class, used by
NDB
to keep strict timekeeping
independent of the system clock.
This block also assists in the early phases of data node startup.
The QMGR
block is implemented by the
Qmgr
class, whose definition is found in the
file
storage/ndb/src/kernel/blocks/qmgr/Qmgr.hpp
.