5.10 NDB_STTOR 第 3 阶段

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。