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