该 DBLQH
块在此处启动日志文件检查。然后,它使用 READ_NODESREQ
信号获取数据节点的状态。除非正在执行初始启动或初始节点重启,否则日志文件检查将与多个其他启动阶段并行处理。对于初始启动,日志文件必须初始化;这可能是一个漫长的过程,应该附带一些进度状态。
从这一点开始,有两条并行路径,一条继续重启,另一条读取和确定重做日志文件的状态。
该 DBDICT
块使用 READ_NODESREQ
信号请求有关集群数据节点的信息。 DBACC
如果这不是系统重启,则重置系统重启标志;这仅用于验证在系统重启期间是否从 DBTUX
接收任何请求。 DBTC
通过 READ_NODESREQ
信号请求有关所有节点的信息。
DBDIH
设置内部主状态并进行其他仅限于初始启动的准备。在初始启动的情况下,非主节点执行一些初始任务,主节点在所有非主节点报告其任务已完成时执行。 (这种延迟实际上是不必要的,因为没有理由在初始化主节点时等待。)
对于节点重启和初始节点重启,此阶段不再执行任何操作。对于初始启动,当所有节点都创建了初始重启信息并初始化了系统文件时,工作就会完成。
对于系统重启,这是执行大部分工作的地方,由从 NDBCNTR
到主节点中的 DBDIH
发送 NDB_STARTREQ
信号启动。当系统重启中的所有节点都到达重启中的这一点时,就会发送此信号。我们可以将其标记为系统重启的第一个同步点,指定为 WAITPOINT_4_1
。
有关阶段 4 的系统重启版本的描述,请参见 第 5.21 节,“阶段 4 中的系统重启处理”。
完成 NDB_STARTREQ
信号的执行后,主节点向所有节点发送带有 WAITPOINT_4_2
的 CNTR_WAITREP
信号。这结束了 NDB_STTOR
阶段 3 以及 (STTOR
) 阶段 4。