We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
简单的说, 读接口即读当前的plog, 并判定是否是最新数据(分布式角度). 更具体的说: - 读接口LocalChosenIndex + 1 == OtherMaxIndex 当且仅当OtherMaxIndex均 为Pending时, 本地chosen数据最新
这里我有一个疑问, OtherMaxIndex均能确定处于Pending时,是否是即使处于这么一个中间状态:paxos acceptors已经形成多数派但是设置的proposer并没有到达chosen,就当作这种状态还没有真的chosen.
另外源码中,
int can_read_3svr(..) { ... if (is_peer_chosen(peer_status)) { return PAXOS_GET_LOCAL_OUT; } return PAXOS_GET_MAY_LOCAL_OUT; }
跟note文档描述并不是一致的。在远端都不是chosen的情况,选择了重做写并等待或返回失败。
我的第二个疑问是, 源码是不是选择了更严格的模式,因为存在上面说的中间的状态的情况,选择了重做完等待或者返回失败
The text was updated successfully, but these errors were encountered:
短回答:
长回答: 问题1: 这里定义
问题2: != 实际代码的原因;
Sorry, something went wrong.
No branches or pull requests
这里我有一个疑问, OtherMaxIndex均能确定处于Pending时,是否是即使处于这么一个中间状态:paxos acceptors已经形成多数派但是设置的proposer并没有到达chosen,就当作这种状态还没有真的chosen.
另外源码中,
跟note文档描述并不是一致的。在远端都不是chosen的情况,选择了重做写并等待或返回失败。
我的第二个疑问是, 源码是不是选择了更严格的模式,因为存在上面说的中间的状态的情况,选择了重做完等待或者返回失败
The text was updated successfully, but these errors were encountered: