hashicorp/nomad · warning
unsupported version=%s matches version filter %s
Error message
unsupported version=%s matches version filter %s
What it means
When the checked version parses and the constraint parses but the version DOES satisfy the constraint, checkVersion returns this error. It is used as an inclusion filter: any server whose version matches minimumVersionPprofConstraint is "unsupported" for pprof collection, so the debug collector should skip it and proceed without pprof endpoints.
Source
Thrown at command/operator_debug.go:2129
return version
}
// checkVersion verifies that version satisfies the constraint
func checkVersion(version string, versionConstraint string) error {
v, err := goversion.NewVersion(version)
if err != nil {
return fmt.Errorf("error: %v", err)
}
c, err := goversion.NewConstraint(versionConstraint)
if err != nil {
return fmt.Errorf("error: %v", err)
}
if !c.Check(v) {
return nil
}
return fmt.Errorf("unsupported version=%s matches version filter %s", version, minimumVersionPprofConstraint)
}
View on GitHub (pinned to 482b49bf1a)
Solutions
- Treat this as an expected skip: ignore the error and continue collecting other debug data without pprof.
- Upgrade the Nomad server to a version outside the excluded constraint to enable pprof capture.
- If pprof data is essential, pin/label the target node to a supported version before running debug.
Example fix
// before
if err := checkVersion(v, minimumVersionPprofConstraint); err != nil { return err }
// after
if err := checkVersion(v, minimumVersionPprofConstraint); err != nil {
ui.Output(fmt.Sprintf("skipping pprof for %s: %v", nodeID, err))
return nil // unsupported version: proceed without pprof
} Defensive patterns
Strategy: fallback
Validate before calling
v, _ := goversion.NewVersion(agentVersion)
unsupported, _ := goversion.NewConstraint(minimumVersionPprofConstraint)
if v != nil && unsupported.Check(v) {
// server version is known-unsupported: plan to skip pprof
} Try / catch
if err := checkVersion(v, minimumVersionPprofConstraint); err != nil {
ui.Output(fmt.Sprintf("skipping pprof: %v", err))
return nil // graceful skip
} Prevention
- Expect this error on pre-pprof server versions and handle it as a normal skip, not a failure.
- Upgrade mixed-version clusters so all agents support pprof endpoints.
- Log which node was skipped so missing pprof archives in the bundle are explainable.
When it happens
Trigger: Running `nomad operator debug` against a Nomad server whose agent version matches minimumVersionPprofConstraint (i.e. older than the version range where pprof is supported), so pprof capture is skipped for that node.
Common situations: Mixed-version clusters during rolling upgrades where some agents still run pre-pprof versions; debugging older clusters where the pprof endpoints do not exist.
Related errors
- unsupported minimum common raft protocol version
- Unable to determine Nomad version
- Node does not support RPC; requires 0.8 or later
- error: %v
- all servers must be running version %v or later to upsert no
AI-assisted analysis of hashicorp/nomad@482b49bf1a (2026-09-04).
Data as JSON: /api/errors/26fb0cf4a20f8f45.
Report an issue: GitHub.