数据库服务器协调者故障

协调者发生故障后数据的一致性取决于异类落实过程中协调者发生故障的时刻。如果协调者在向网关发送落实消息之前发生故障,那么一旦恢复后就停止整个事务,这与两阶段落实的情况相同。

如果协调者在写入落实日志记录之后发生故障,那么一旦恢复后就成功落实整个事务,这与两阶段落实的情况相同。

如果协调者在向网关发送落实消息之后但在写入落实日志记录之前发生故障,那么一旦恢复,事务中的远程 GBase 8s 数据库服务器站点将停止。如果网关接收到落实消息并落实了事务,那么这种情况可能会导致不一致。

下表总结了这些应用场合。
数据库服务器协调者发生故障的时间点 预期结果
在协调者写入 PREPARE 日志记录之后,但在网关落实阶段之前 维持了数据一致性。
在协调者向网关发送落实消息之后,但在它接收到答复之前 数据有可能不一致。协调者没有指示有可能数据不一致。
在网关落实阶段之后,但在协调者向逻辑日志写入 COMMIT 记录之前 失去数据一致性。协调者没有指示数据不一致。