Tencent / phxpaxos

The Paxos library implemented in C++ that has been used in the WeChat production environment.
Other
3.36k stars 863 forks source link

切片收发问题 #189

Open chinawch007 opened 4 years ago

chinawch007 commented 4 years ago

读源代码切片收发部分有些疑惑,如有时间希望帮忙解答下,多谢。 1,AskForLearn是群发的,代码通过设置标志,不断重置AskForLearn的启动的超时时间来保证只会有一个收切片流程,只会有一个收日志的流程。假设一个“极端情况”:一台机器答应给我传日志,另一台答应给我传切片,这样必然造成接收日志的混乱,代码中似乎没有让这两个流程互斥的保证? 2,接收切片完成后,似乎没有更新proposer,acceptor,learner的InstanceId?

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