hashicorp/nomad · error

failed acl token listing: %v

Error message

failed acl token listing: %v

What it means

The state store iteration over expired ACL tokens returned an error from memdb; the wrapped failure prevents enumerating tokens whose expiration time has passed.

Source

Thrown at nomad/state/state_store_acl.go:27

	"slices"

	"github.com/hashicorp/go-memdb"
	"github.com/hashicorp/nomad/nomad/structs"
)

// ACLTokensByExpired returns an array accessor IDs of expired ACL tokens.
// Their expiration is determined against the passed time.Time value.
//
// The function handles global and local tokens independently as determined by
// the global boolean argument. The number of returned IDs can be limited by
// the max integer, which is useful to limit the number of tokens we attempt to
// delete in a single transaction.
func (s *StateStore) ACLTokensByExpired(global bool) (memdb.ResultIterator, error) {
	tnx := s.db.ReadTxn()

	iter, err := tnx.Get("acl_token", expiresIndexName(global))
	if err != nil {
		return nil, fmt.Errorf("failed acl token listing: %v", err)
	}
	return iter, nil
}

// expiresIndexName is a helper function to identify the correct ACL token
// table expiry index to use.
func expiresIndexName(global bool) string {
	if global {
		return indexExpiresGlobal
	}
	return indexExpiresLocal
}

// UpsertACLRoles is used to insert a number of ACL roles into the state store.
// It uses a single write transaction for efficiency, however, any error means
// no entries will be committed.
func (s *StateStore) UpsertACLRoles(
	msgType structs.MessageType, index uint64, roles []*structs.ACLRole, allowMissingPolicies bool) error {

View on GitHub (pinned to 482b49bf1a)

Solutions

  1. Retry the expired-token sweep
  2. Check server logs for state store errors
  3. Verify server health before retrying
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at nomad/state/state_store_acl.go:27 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/3c71463c58a53d25. Report an issue: GitHub.