hashicorp/nomad · error
node lookup by SecretID failed: %v
Error message
node lookup by SecretID failed: %v
What it means
NodeBySecretID's memdb lookup by the nodes table's secret_id index returned an error; the wrapped failure means the state store could not perform the read (as opposed to simply not finding the node).
Source
Thrown at nomad/state/state_store.go:1736
func (s *StateStore) NodesByIDPrefix(ws memdb.WatchSet, nodeID string) (memdb.ResultIterator, error) {
txn := s.db.ReadTxn()
iter, err := txn.Get("nodes", "id_prefix", nodeID)
if err != nil {
return nil, fmt.Errorf("node lookup failed: %v", err)
}
ws.Add(iter.WatchCh())
return iter, nil
}
// NodeBySecretID is used to lookup a node by SecretID
func (s *StateStore) NodeBySecretID(ws memdb.WatchSet, secretID string) (*structs.Node, error) {
txn := s.db.ReadTxn()
watchCh, existing, err := txn.FirstWatch("nodes", "secret_id", secretID)
if err != nil {
return nil, fmt.Errorf("node lookup by SecretID failed: %v", err)
}
ws.Add(watchCh)
if existing != nil {
return existing.(*structs.Node), nil
}
return nil, nil
}
// NodesByNodePool returns an iterator over all nodes that are part of the
// given node pool.
func (s *StateStore) NodesByNodePool(ws memdb.WatchSet, pool string) (memdb.ResultIterator, error) {
txn := s.db.ReadTxn()
iter, err := txn.Get("nodes", "node_pool", pool)
if err != nil {
return nil, err
}View on GitHub (pinned to 482b49bf1a)
Solutions
- Retry the request against a healthy server
- Check server logs for state store errors
- Verify Raft/leader health if lookups consistently fail
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at nomad/state/state_store.go:1736 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/a8327b75d51703e2.
Report an issue: GitHub.