hashicorp/nomad · error

eval lookup for job %s failed: %v

Error message

eval lookup for job %s failed: %v

What it means

During job deletion, listing the job's evaluations with EvalsByJob failed; the wrapped state store read error prevents marking the job's pending evals complete.

Source

Thrown at nomad/state/state_store.go:2049

	// Delete job deployments
	deployments, err := s.DeploymentsByJobID(nil, namespace, job.ID, true)
	if err != nil {
		return fmt.Errorf("deployment lookup for job %s failed: %v", job.ID, err)
	}

	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)

View on GitHub (pinned to 482b49bf1a)

Solutions

  1. Retry the delete operation
  2. Check server logs for memdb/Raft errors
  3. Confirm state store health before retrying
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at nomad/state/state_store.go:2049 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/182ba8ad80844cb7. Report an issue: GitHub.