DBLQH block initiates checking of the log
files here. Then it obtains the states of the data nodes using
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 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
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
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,
For a description of the system restart version of Phase 4, see Section 8.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.