You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@rocketmq.apache.org by GitBox <gi...@apache.org> on 2020/06/01 03:02:18 UTC

[GitHub] [rocketmq] imaffe edited a comment on issue #2056: Issues and Improvement Strategies in the Raft Protocol Election

imaffe edited a comment on issue #2056:
URL: https://github.com/apache/rocketmq/issues/2056#issuecomment-636587698


   > 已提交是多数认可的充分非必要条件,多数认可是已提交的必要非充分条件。比如结点1发送的完appendentry指令给123456时候挂了,而且123456都记录了该appenentry时候就属于多数认可但未提交例子。
   
   看起来这里就是我们的分歧所在了,我理解的是在raft里,123456 如果都记录了该term = 6 appendEntry(都存有该log entry的replica),那么此时该log entry 就已经提交了。这是和paxos/zab 不一样的地方。
   
   *准确来说,raft的leader选举过程相当于 paxos的phase1, raft的appendEntrys相当于paxos的phase 2。 [Paxos vs Raft](https://arxiv.org/pdf/2004.05074.pdf)*
   
   
   >对于因为选举中存在多数同意但少数不同意(但不是反对,反对是loggedterm延滞引发) 则是脑裂引起的没争取到该部分结点认同的leader资格。
   
   
   可以详细定义一下什么是同意,什么是不同意,什么是反对吗?(就是具体的判断条件),因为这是raft原论文里没有出现过的概念,为避免歧义,我们还是争取尽量准确地定义术语吧 :smile: 
   
   
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org