The DBLQH
block initiates checking of the log
files here. Then it obtains the states of the data nodes using
the READ_NODESREQ
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 restart and another reading and determining the state of the redo log files.
The DBDICT
block requests information about
the cluster data nodes via the READ_NODESREQ
signal. 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
READ_NODESREQ
signal.
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 NDB_STARTREQ
signal
from NDBCNTR
to 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 WAITPOINT_4_1
.
For a description of the system restart version of Phase 4, see Section 6.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.