rabbitmq / ra

A Raft implementation for Erlang and Elixir that strives to be efficient and make it easier to use multiple Raft clusters in a single system.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

server init after receiving a snapshot with a higher than local machine version crashes

kjnilsson opened this issue · comments

If follower with, say, machine version 1 receives a snapshot with a higher machine version (2) it will not be able to restart as it expects to find the module for the machine version here.

It is likely that it should use min(LatestMacVer, MacVer) to retrieve the current machine module.

In fact there is a general issue around snapshot installations into servers with old machine versions.

What should they do? they can't set the installed snapshot state as the current state as they can't interpret it, should they remain on the machine state they were at and then have a snapshot with an index higher than the last applied index?