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

最全题库2022-08-02  46

问题 分布式事务的执行可能会涉及到多个站点上的数据操作,在两阶段提交协议中,当事务Ti的所有读写操作执行结束后,事务Ti的发起者协调器Ci向所有参与Ti的执行站点发送<prcpare 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的最终结果

答案 D

解析 两阶段提交协议受如下两条规则的支配:1、只要有一个参与者撤销事务,协调者就必须做出全局撤销决定。2、只有所有参与者都同意提交事务,协调者才能做出全局提交决定。题干中,事务日志中只有<ready Ti>记录,说明已经完成了准备提交阶段,而没有<commit Ti >记录,说明该事务没有进入提交阶段,所以,需要向协调器去查询Ti的最终决定结果。
转载请注明原文地址:https://tihaiku.com/congyezige/2401384.html

最新回复(0)