首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >什么时候第二阶段提交不会取得进展?

什么时候第二阶段提交不会取得进展?
EN

Stack Overflow用户
提问于 2016-02-29 00:53:19
回答 1查看 60关注 0票数 0

什么时候2阶段提交阻塞,使其不再取得进展?

在这里假设协调员和4个参与者。

假设参与者P2在发送"vote-commit“消息后崩溃(即该消息被协调器成功接收),并且没有更多的失败,则协调器等待来自P2的”确认“,并在超时后继续向其发送”全局提交“。协调器被阻止;其他参与者未被阻止。

还有其他的情况吗?

EN

回答 1

Stack Overflow用户

发布于 2016-04-03 04:45:28

如果任何消息被延迟或丢弃,或者任何参与者在任何时候崩溃(停止响应),两阶段提交都不起作用。

2PC可能会以几种不同的方式失败。下面是我在使用Molly时发现的一些代码。

  • 协调器可能会在发送vote-commit消息之后、但在发送global-commit/global-abort之前崩溃。这意味着所有投票决定提交的客户端都在等待来自coordinator.
  • The网络的响应,这可能会延迟或丢弃global-commit消息,导致这些消息的接收者阻塞,等待他们可能永远不会收到的消息。
  • 网络可能会延迟或丢弃投票以提交或中止,导致协调器阻塞,等待它可能永远不会收到的消息。
  • 网络可能会延迟或丢弃查询,即协调器发送给其他参与者的消息,询问他们是否准备提交。然后协调器将阻塞,等待来自这些participants.

响应

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35685388

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档