nats-io/nats-server · error
Request from follower for entry at index [%d] errored for st
Error message
Request from follower for entry at index [%d] errored for state %+v - %v
What it means
A follower's catchup request asked for an entry at 'start' but the leader's loadEntry failed. If the error is ErrStoreEOF the leader steps down (it no longer has the requested history, meaning its state is behind what it thought); other errors are logged and the request is dropped so the follower retries or falls back to snapshot.
Source
Thrown at server/raft.go:3794
n.Unlock()
arPool.Put(ar)
return
} else {
start = lastIndex + 1
// If no other entries, we can just return here.
if state.Msgs == 0 || start > state.LastSeq {
n.debug("Finished catching up")
n.Unlock()
arPool.Put(ar)
return
}
n.debug("Snapshot sent, reset first catchup entry to %d", lastIndex)
}
}
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.stepdownLocked(noLeader)
n.Unlock()
arPool.Put(ar)
return
}
ae, err = n.loadFirstEntry()
}
if err != nil || ae == nil {
n.warn("Could not find a starting entry for catchup request: %v", err)
// If we are here we are seeing a request for an item we do not have, meaning we should stepdown.
// This is possible on a reset of our WAL but the other side has a snapshot already.
// If we do not stepdown this can cycle.
n.stepdownLocked(noLeader)
n.Unlock()
arPool.Put(ar)
returnView on GitHub (pinned to 3a66a489d2)
Solutions
- For EOF: let the stepdown proceed; a better-equipped leader will send a snapshot
- For other errors: check the leader's WAL store health
- Follower-side retry will re-request catchup automatically
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at server/raft.go:3794 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of nats-io/nats-server@3a66a489d2 (2026-09-02).
Data as JSON: /api/errors/3c86200e1202d83c.
Report an issue: GitHub.