hashicorp/nomad · error
eval lookup failed: %v
Error message
eval lookup failed: %v
What it means
While completing a job's pending evals during deletion, the memdb read of an eval by ID failed; the wrapped lookup error aborts the delete transaction.
Source
Thrown at nomad/state/state_store.go:2055
deploymentIDs := []string{}
for _, d := range deployments {
deploymentIDs = append(deploymentIDs, d.ID)
}
if err := s.DeleteDeploymentTxn(index, deploymentIDs, txn); err != nil {
return err
}
// Mark all "pending" evals for this job as "complete"
evals, err := s.EvalsByJob(nil, namespace, job.ID)
if err != nil {
return fmt.Errorf("eval lookup for job %s failed: %v", job.ID, err)
}
for _, eval := range evals {
existing, err := txn.First("evals", "id", eval.ID)
if err != nil {
return fmt.Errorf("eval lookup failed: %v", err)
}
if existing == nil {
continue
}
if existing.(*structs.Evaluation).Status != structs.EvalStatusPending {
continue
}
eval := existing.(*structs.Evaluation).Copy()
eval.Status = structs.EvalStatusComplete
eval.StatusDescription = fmt.Sprintf("job %s deleted", job.ID)
// Insert the eval
if err := txn.Insert("evals", eval); err != nil {
return fmt.Errorf("eval insert failed: %v", err)
}
if err := txn.Insert("index", &IndexEntry{"evals", index}); err != nil {View on GitHub (pinned to 482b49bf1a)
Solutions
- Retry the delete; the eval may settle on retry
- Inspect server logs for the underlying state store error
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at nomad/state/state_store.go:2055 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/1491f2a3c40d8fc1.
Report an issue: GitHub.