mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00

It is necessary to make this check because of the following case: 1. memory storage contains ents from index 0 to 50, and unstable has ents from index 50 to 60. 2. raft receives an incoming snapshot with index 100. 3. raft restores its unstable to 100, but has not applied snapshot on memory storage. 4. raft receives an out-dated MsgApp from index 60. 5. raft finds the term of index 60 to check the match. 6. raft asks memory storage about the term of index 60 after it failed to get it from unstable. 7. memory storage panics because it knows nothing about index 60.