hashicorp/nomad · error

error getting plugin: %s, %v

Error message

error getting plugin: %s, %v

What it means

While cleaning up a deleted job's CSI plugins, the state store lookup of a plugin by ID failed; this wraps the memdb error from CSIPluginByIDTxn, not a missing-plugin condition (nil plugins are skipped silently).

Source

Thrown at nomad/state/state_store.go:1646

		for _, t := range tg.Tasks {
			if t.CSIPluginConfig == nil {
				continue
			}
			plugAllocs = append(plugAllocs, &pair{
				pluginID: t.CSIPluginConfig.ID,
			})
		}
	}

	plugins := map[string]*structs.CSIPlugin{}

	for _, x := range plugAllocs {
		plug, ok := plugins[x.pluginID]

		if !ok {
			plug, err = s.CSIPluginByIDTxn(txn, nil, x.pluginID)
			if err != nil {
				return fmt.Errorf("error getting plugin: %s, %v", x.pluginID, err)
			}
			if plug == nil {
				// plugin was never successfully registered or has been
				// GC'd out from under us
				continue
			}
			// only copy once, so we update the same plugin on each alloc
			plugins[x.pluginID] = plug.Copy()
			plug = plugins[x.pluginID]
		}

		if x.alloc == nil {
			continue
		}
		err := plug.DeleteAlloc(x.alloc.ID, x.alloc.NodeID)
		if err != nil {
			return err
		}

View on GitHub (pinned to 482b49bf1a)

Solutions

  1. Retry the deletion; the state read may have hit a transient failure
  2. Inspect server logs for memdb/Raft errors
  3. Verify cluster state consistency if it persists
Defensive patterns

Strategy: retry

When it happens

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