NDB 集群内部  /  NDB 集群启动阶段  /  NDB_STTOR 阶段 3

5.10 NDB_STTOR 阶段 3

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_2CNTR_WAITREP 信号。这结束了 NDB_STTOR 阶段 3 以及 (STTOR) 阶段 4。