We are a group of researchers testing distributed protocol implementations. While testing the raft implementation, we encountered the following crash (with a 3 node cluster).
We have been able to reproduce the issue. The root cause seems to be that MemoryStorage.Snapshot does not return ErrSnapshotTemporarilyUnavailable when snapshot is nil. The error occurred when a leader was elected without the snapshot being recorded to storage.
We are a group of researchers testing distributed protocol implementations. While testing the raft implementation, we encountered the following crash (with a 3 node cluster).
We have been able to reproduce the issue. The root cause seems to be that
MemoryStorage.Snapshot
does not returnErrSnapshotTemporarilyUnavailable
whensnapshot
isnil
. The error occurred when a leader was elected without the snapshot being recorded to storage.