The DBLQH
block enables its
exchange of internal records with
DBTUP
and
DBACC
, while
DBTC
permits its internal
records to be exchanged with
DBDIH
. The
DBDIH
kernel block creates the mutexes used
by the NDB
kernel and reads nodes using the
READ_NODESREQ
signal. With the data from the
response to this signal, DBDIH
can create
node lists, node groups, and so forth. For node restarts and
initial node restarts, DBDIH
also asks the
master for permission to perform the restart. The master will
ask all “live” nodes if they are prepared to permit
the new node to join the cluster. If an initial node restart is
to be performed, then all LCPs are invalidated as part of this
phase.
LCPs from nodes that are not part of the cluster at the time of the initial node restart are not invalidated. The reason for this is that there is never any chance for a node to become master of a system restart using any of the LCPs that have been invalidated, since this node must complete a node restart—including a local checkpoint—before it can join the cluster and possibly become a master node.
The CMVMI
kernel block
activates the sending of packed signals, which occurs only as
part of database operations. Packing must be enabled prior to
beginning any such operations during the execution of the redo
log or node recovery phases.
The DBTUX
block sets the
type of start currently taking place, while the
BACKUP
block sets the type
of restart to be performed, if any (in each case, the block
actually sets a variable whose value reflects the type of start
or restart). The SUMA
block
remains inactive during this phase.
The PGMAN
kernel block
starts the generation of two repeated signals, the first
handling cleanup. This signal is sent every 200 milliseconds.
The other signal handles statistics, and is sent once per
second.