hashicorp/nomad · error
Must specify positive splay value
Error message
Must specify positive splay value
What it means
Template.Validate: the splay (randomized delay applied to template re-renders to avoid thundering herds) is negative. Splay must be zero or a positive duration.
Source
Thrown at nomad/structs/structs.go:9004
}
if t.Envvars {
_ = multierror.Append(&mErr, fmt.Errorf("cannot use signals with env var templates"))
}
case TemplateChangeModeScript:
if t.ChangeScript == nil {
_ = multierror.Append(&mErr, fmt.Errorf("must specify change script configuration value when change mode is script"))
}
if err = t.ChangeScript.Validate(); err != nil {
_ = multierror.Append(&mErr, err)
}
default:
_ = multierror.Append(&mErr, TemplateChangeModeInvalidError)
}
// Verify the splay is positive
if t.Splay < 0 {
_ = multierror.Append(&mErr, fmt.Errorf("Must specify positive splay value"))
}
// Verify the permissions
if t.Perms != "" {
if _, err := strconv.ParseUint(t.Perms, 8, 12); err != nil {
_ = multierror.Append(&mErr, fmt.Errorf("Failed to parse %q as octal: %v", t.Perms, err))
}
}
if err = t.Wait.Validate(); err != nil {
_ = multierror.Append(&mErr, err)
}
return mErr.ErrorOrNil()
}
func (t *Template) Warnings() error {
var mErr multierror.ErrorView on GitHub (pinned to 482b49bf1a)
Solutions
- Set splay to a positive duration such as "5s"
- Omit splay entirely to use the zero default
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at nomad/structs/structs.go:9004 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/b6ff58d7ae204244.
Report an issue: GitHub.