hashicorp/nomad · error
failed to create result paginator
Error message
failed to create result paginator
What it means
Returned by list RPC handlers when the server cannot construct the result paginator, most often because a requested filter expression cannot be evaluated. The message is duplicated in api.ResultPaginatorErrorContent so the CLI can match it without importing structs.
Source
Thrown at nomad/structs/errors.go:74
ErrTokenNotFound = errors.New(errTokenNotFound)
ErrTokenExpired = errors.New(errTokenExpired)
ErrTokenInvalid = errors.New(errTokenInvalid)
ErrPermissionDenied = errors.New(errPermissionDenied)
ErrJobRegistrationDisabled = errors.New(errJobRegistrationDisabled)
ErrNoNodeConn = errors.New(errNoNodeConn)
ErrUnknownMethod = errors.New(errUnknownMethod)
ErrUnknownNomadVersion = errors.New(errUnknownNomadVersion)
ErrNodeLacksRpc = errors.New(errNodeLacksRpc)
ErrMissingAllocID = errors.New(errMissingAllocID)
ErrIncompatibleFiltering = errors.New(errIncompatibleFiltering)
ErrMalformedChooseParameter = errors.New(errMalformedChooseParameter)
// ErrResultPaginatorCreation is returned by list RPC handlers when the
// result paginator cannot be built, for example when the server cannot
// evaluate a requested filter expression. api.ResultPaginatorErrorContent
// duplicates its message so the CLI can match it without importing structs.
// Keep the two in sync.
ErrResultPaginatorCreation = errors.New(errResultPaginatorCreation)
ErrUnknownNode = errors.New(ErrUnknownNodePrefix)
ErrDeploymentTerminalNoCancel = errors.New(errDeploymentTerminalNoCancel)
ErrDeploymentTerminalNoFail = errors.New(errDeploymentTerminalNoFail)
ErrDeploymentTerminalNoPause = errors.New(errDeploymentTerminalNoPause)
ErrDeploymentTerminalNoPromote = errors.New(errDeploymentTerminalNoPromote)
ErrDeploymentTerminalNoResume = errors.New(errDeploymentTerminalNoResume)
ErrDeploymentTerminalNoUnblock = errors.New(errDeploymentTerminalNoUnblock)
ErrDeploymentTerminalNoRun = errors.New(errDeploymentTerminalNoRun)
ErrDeploymentTerminalNoSetHealth = errors.New(errDeploymentTerminalNoSetHealth)
ErrDeploymentRunningNoUnblock = errors.New(errDeploymentRunningNoUnblock)
ErrCSIClientRPCIgnorable = errors.New("CSI client error (ignorable)")
ErrCSIClientRPCRetryable = errors.New("CSI client error (retryable)")
ErrCSIVolumeMaxClaims = errors.New("volume max claims reached")
ErrCSIVolumeUnschedulable = errors.New("volume is currently unschedulable")
ErrCSIPluginInUse = errors.New("plugin in use")View on GitHub (pinned to 482b49bf1a)
Solutions
- Fix the filter expression in the request; test it with 'nomad job list -filter ...' or eval it before paginating.
- Remove or simplify the filter to confirm it is the cause.
- Check server/client version compatibility for filter expression features.
- Inspect the wrapped error (%v in the RPC error) for the exact parse/evaluation failure.
Example fix
// before req.Filter = "Status == running" // invalid expr syntax // after req.Filter = "Status == \"running\""
Defensive patterns
Strategy: validation
Validate before calling
// Validate filter expression before paginating:
_, err := api.Parse(filterExpr)
if err != nil {
return fmt.Errorf("invalid filter %q: %w", filterExpr, err)
} Try / catch
if strings.Contains(err.Error(), api.ResultPaginatorErrorContent) {
// fall back to unpaginated listing or fix the filter
return retryWithoutPagination(req)
} Prevention
- Test filter expressions with the CLI before embedding them in automation.
- Keep client and server Nomad versions aligned.
- Log the wrapped inner error to find the exact filter parse failure.
When it happens
Trigger: Calling a list RPC (e.g. Job.List with pagination) where building the paginator fails, typically due to an invalid or un-evaluable filter expression accompanying the paginated request.
Common situations: Pagination combined with a filter expression containing syntax errors or unsupported fields; clients upgrading Nomad and using filter syntax the server version doesn't understand.
Related errors
- Parameter for choose must be in form '<number>|<key>'
- no servers
- missing NodeID
- missing AllocID
- missing allocation ID
AI-assisted analysis of hashicorp/nomad@482b49bf1a (2026-09-04).
Data as JSON: /api/errors/857446e75ac159e9.
Report an issue: GitHub.