分布式事务的执行可能会涉及到多个站点上的数据操作,在两阶段提交协议中,当事务 T

最全题库2022-08-02  31

问题 分布式事务的执行可能会涉及到多个站点上的数据操作,在两阶段提交协议中,当事务 Ti的所有读写操作执行结束后,事务 Ti 的发起者协调器 Ci 向所有参与 Ti 的执行站点发送<prepare Ti>的消息,当收到所有执行站点返回的<ready Ti>消息后,Ci 再向所有执行站点发送<commit Ti>消息。若参与事务 Ti 执行的某个站点故障恢复后日志中有<ready Ti>记录,而没有<commit Ti>记录,则( )。A.事务 Ti 已完成提交,该站点无需做任何操作B.事务 Ti 已完成提交,该站点应做 REDO 操作C.事务 Ti 未完成提交,该站点应做 UNDO 操作D.应向协调器询问以决定 Ti 的最终结果

选项 A.事务 Ti 已完成提交,该站点无需做任何操作
B.事务 Ti 已完成提交,该站点应做 REDO 操作
C.事务 Ti 未完成提交,该站点应做 UNDO 操作
D.应向协调器询问以决定 Ti 的最终结果

答案 B

解析 系统故障恢复时对于故障发生前已经提交的事务,应记入重做(Redo)队列;对于故障发生时尚未完成的事务,应记入撤销(Undo)队列。因为站点故障恢复后日志中已有<ready Ti>记录,因此需要执行REDO操作。
转载请注明原文地址:https://tihaiku.com/congyezige/2400912.html

最新回复(0)