DBLQH block initiates
checking of the log files here. Then it obtains the states of
the data nodes using the
signal. Unless an initial start or an initial node restart is
being performed, the checking of log files is handled in
parallel with a number of other start phases. For initial
starts, the log files must be initialized; this can be a lengthy
process and should have some progress status attached to it.
From this point, there are two parallel paths, one continuing to restart and another reading and determining the state of the redo log files.
DBDICT block requests
information about the cluster data nodes using the
DBACC resets the system
restart flag if this is not a system restart; this is used only
to verify that no requests are received from
DBTUX during system restart.
DBTC requests information
about all nodes by means of the
DBDIH sets an internal
master state and makes other preparations exclusive to initial
starts. In the case of an initial start, the nonmaster nodes
perform some initial tasks, the master node doing once all
nonmaster nodes have reported that their tasks are completed.
(This delay is actually unnecessary since there is no reason to
wait while initializing the master node.)
For node restarts and initial node restarts no more work is done in this phase. For initial starts the work is done when all nodes have created the initial restart information and initialized the system file.
For system restarts this is where most of the work is performed,
initiated by sending the
DBDIH in the master. This signal is sent when
all nodes in the system restart have reached this point in the
restart. This we can mark as our first synchronization point for
system restarts, designated
For a description of the system restart version of Phase 4, see Section 5.21, “System Restart Handling in Phase 4”.
After completing execution of the
NDB_STARTREQ signal, the master sends a
CNTR_WAITREP signal with
WAITPOINT_4_2 to all nodes. This ends
NDB_STTOR phase 3 as well as
STTOR) Phase 4.