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

  1. Treat this as an expected skip: ignore the error and continue collecting other debug data without pprof.
  2. Upgrade the Nomad server to a version outside the excluded constraint to enable pprof capture.
  3. 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

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


AI-assisted analysis of hashicorp/nomad@482b49bf1a (2026-09-04). Data as JSON: /api/errors/26fb0cf4a20f8f45. Report an issue: GitHub.