diff --git a/.travis.yml b/.travis.yml index b556f49f..e1d0114f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,7 +8,7 @@ language: go go: # This should be quoted or use .x, but should not be unquoted. # Remember that a YAML bare float drops trailing zeroes. - - '1.19.8' + - '1.19.9' addons: apt: diff --git a/server/raft.go b/server/raft.go index 6eb895e2..fbfa6865 100644 --- a/server/raft.go +++ b/server/raft.go @@ -2501,6 +2501,13 @@ func (n *raft) catchupFollower(ar *appendEntryResponse) { ae, err := n.loadEntry(start) if err != nil { n.warn("Request from follower for entry at index [%d] errored for state %+v - %v", start, state, err) + if err == ErrStoreEOF { + // If we are here we are seeing a request for an item beyond our state, meaning we should stepdown. + n.stepdown.push(noLeader) + n.Unlock() + arPool.Put(ar) + return + } ae, err = n.loadFirstEntry() } if err != nil || ae == nil {