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
- Retry the expired-token sweep
- Check server logs for state store errors
- 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.