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.