The DBLQH
block enables its exchange of
internal records with DBTUP
and
DBACC
, while DBTC
allows
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.