关于 OceanBase 分布式事务的两阶段提交(2PC)机制,以下描述错误的是?


A. 分布式事务涉及多个 OBServer 节点上的数据修改,需要协调者协调所有参与者共同提交或回滚。

B. 在 Prepare 阶段,所有参与者需要将事务的修改持久化到 Clog,并返回 Prepared 状态给协调者。

C. 协调者在收到所有参与者的 Prepared 响应后,立即返回事务提交成功给客户端,无需等待参与者真正 Commit。

D. 如果某个参与者在 Prepare 阶段失败,协调者会通知所有已 Prepared 的参与者执行回滚。

解析
在 OceanBase 的 2PC 机制中,协调者必须等待所有参与者真正完成 Commit 并持久化 后,才能安全地返回事务提交成功给客户端。这是 ACID 持久性(Durability) 的基本要求,确保客户端收到成功响应后,数据已经安全落盘,不会因后续故障而丢失。C 选项错误地认为协调者可以提前返回成功。

  • A 正确 :分布式事务确实涉及多个节点,需要 2PC 协调。
  • B 正确 :Prepare 阶段需要参与者持久化 Clog 并返回确认。
  • C 错误 :协调者必须等待所有参与者真正 Commit 完成 才能返回成功。
  • D 正确 :任何参与者 Prepare 失败,协调者会发起回滚。
2 个赞

正确答案:C

2 个赞