lynn

Results 22 comments of lynn

选主也是一个 basic paxos 的过程,当一台机能完成一次 basic paxos,那说明这台机的数据已经是最新的了。

15w qps of `Node::BatchPropose` and 2kb for each value. But this result requires a few perrequisites. 1. 3 independent machines or more. 2. Share `Node::BatchPropose` request to every machine. 3....

不会有影响,这种情况建议 option 设置 bIsLargeValueMode,参考 [options.h参数中文说明](https://github.com/Tencent/phxpaxos/wiki/options.h%E5%8F%82%E6%95%B0%E4%B8%AD%E6%96%87%E8%AF%B4%E6%98%8E)

是bug,感谢 @zqdai ,应该在`Instance :: OnReceivePaxosMsg`函数进行消息忽略,即可杜绝所有源头。还好这个bug能碰撞到的概率非常低。

1. 同步 checkpoint 的时候会 skip log 2. checkpoint 同步完成会重启进程,在程序启动时候完成状态更新。

是的,非常正确。 niukuo 于2018年9月24日周一 下午10:16写道: > 按照 https://zhuanlan.zhihu.com/p/21466932 文中的描述, > > “假设我们在Instance i进行Prepare(b),我们要求对这个b进行Promise的生效范围是Instance[i, > ∞),那么在i之后我们就无需在做任何Prepare了。”� > > 所以这里清零只是清除了m_oAcceptedBallot, > 而不应该(代码里也没有)将 m_oPromiseBallot 清零。 > > 所以当InstanceID增加时,proposalID 不能从 0 开始而应当继续使用当前值。 > 因此这个问题的答案应该是:proposalID不能清零 >...

1. x1 follow x2, x2每次learn value后都会实时转发到x1 2. 当x2挂了后,x1一样会通过ask for learn协议,去找参与投票的节点学习最新数据,但是可能不够实时(目前是5秒一次轮询)。 3. 指定follow一个group暂时还不支持。这个场景可能比较少。

如果Propose的value与最终chosen的value不一致,Node::Propose函数会返回 错误码 `PaxosTryCommitRet_Conflict` 具体代码可见: [commitctx.cpp#L119](https://github.com/Tencent/phxpaxos/blob/master/src/algorithm/commitctx.cpp#L119)

check: [BeforePropose](https://github.com/Tencent/phxpaxos/blob/master/include/phxpaxos/sm.h#L107) 1. Check master state in BeforePropose func. 2. If not master in this moment, do some modification on propose's value. For example, add some flag. 3. Recognize this...