A. 如果协调者在发送 Commit 指令前故障,所有参与者会一直持有锁,直到协调者恢复。
B. OceanBase 通过 Paxos 协议将协调者的状态同步到多数派副本,即使协调者节点故障,其他副本也可以恢复协调者状态并继续完成事务。
C. 参与者收到 Commit 指令后,如果本地提交失败,事务会自动回滚,无需人工介入。
D. 分布式事务的回滚只需要协调者发出 Abort 指令,参与者立即丢弃本地修改,无需回放 Clog。
A. 如果协调者在发送 Commit 指令前故障,所有参与者会一直持有锁,直到协调者恢复。
B. OceanBase 通过 Paxos 协议将协调者的状态同步到多数派副本,即使协调者节点故障,其他副本也可以恢复协调者状态并继续完成事务。
C. 参与者收到 Commit 指令后,如果本地提交失败,事务会自动回滚,无需人工介入。
D. 分布式事务的回滚只需要协调者发出 Abort 指令,参与者立即丢弃本地修改,无需回放 Clog。
解析 :
OceanBase 的分布式事务协调者本身也是高可用的,其状态通过 Paxos 协议同步到多数派副本。当协调者节点故障时,其他副本可以利用同步的状态信息(如事务参与者列表、当前阶段等)恢复协调者角色,继续推进事务(Commit 或 Abort),避免了传统 2PC 中协调者单点故障导致的事务悬挂问题。
正确答案:B
非常详细
B. OceanBase 通过 Paxos 协议将协调者的状态同步到多数派副本,即使协调者节点故障,其他副本也可以恢复协调者状态并继续完成事务。