hashicorp/nomad · error
evaluation does not exist to be reblocked
Error message
evaluation does not exist to be reblocked
What it means
PlanBuilder guard in ReblockEval: the evaluation to re-block does not exist in the state store, so it cannot transition back to blocked. Indicates a stale or already-GC'd eval was submitted for reblocking.
Source
Thrown at scheduler/structs/structs.go:227
p.CreateEvals = append(p.CreateEvals, eval)
return nil
}
func (p *PlanBuilder) ReblockEval(eval *structs.Evaluation) error {
// Ensure sequential plan application
p.planLock.Lock()
defer p.planLock.Unlock()
// Check that the evaluation was already blocked.
ws := memdb.NewWatchSet()
old, err := p.State.EvalByID(ws, eval.ID)
if err != nil {
return err
}
if old == nil {
return fmt.Errorf("evaluation does not exist to be reblocked")
}
if old.Status != structs.EvalStatusBlocked {
return fmt.Errorf("evaluation %q is not already in a blocked state", old.ID)
}
p.ReblockEvals = append(p.ReblockEvals, eval)
return nil
}
func (p *PlanBuilder) ServersMeetMinimumVersion(_ *version.Version, _ bool) bool {
return p.serversMeetMinimumVersion
}
// NextIndex returns the next index
func (p *PlanBuilder) NextIndex() uint64 {
p.nextIndexLock.Lock()
defer p.nextIndexLock.Unlock()
idx := p.nextIndexView on GitHub (pinned to 482b49bf1a)
Solutions
- Verify the eval ID still exists before re-blocking
- Skip reblocking evals that may have been garbage-collected
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at scheduler/structs/structs.go:227 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of hashicorp/nomad@482b49bf1a (2026-09-04).
Data as JSON: /api/errors/2e1711eb8adfef16.
Report an issue: GitHub.