{"record":{"id":"b6ff58d7ae204244","repo":"hashicorp/nomad","slug":"must-specify-positive-splay-value","errorCode":null,"errorMessage":"Must specify positive splay value","messagePattern":"Must specify positive splay value","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"nomad/structs/structs.go","lineNumber":9004,"sourceCode":"\t\t}\n\t\tif t.Envvars {\n\t\t\t_ = multierror.Append(&mErr, fmt.Errorf(\"cannot use signals with env var templates\"))\n\t\t}\n\tcase TemplateChangeModeScript:\n\t\tif t.ChangeScript == nil {\n\t\t\t_ = multierror.Append(&mErr, fmt.Errorf(\"must specify change script configuration value when change mode is script\"))\n\t\t}\n\n\t\tif err = t.ChangeScript.Validate(); err != nil {\n\t\t\t_ = multierror.Append(&mErr, err)\n\t\t}\n\tdefault:\n\t\t_ = multierror.Append(&mErr, TemplateChangeModeInvalidError)\n\t}\n\n\t// Verify the splay is positive\n\tif t.Splay < 0 {\n\t\t_ = multierror.Append(&mErr, fmt.Errorf(\"Must specify positive splay value\"))\n\t}\n\n\t// Verify the permissions\n\tif t.Perms != \"\" {\n\t\tif _, err := strconv.ParseUint(t.Perms, 8, 12); err != nil {\n\t\t\t_ = multierror.Append(&mErr, fmt.Errorf(\"Failed to parse %q as octal: %v\", t.Perms, err))\n\t\t}\n\t}\n\n\tif err = t.Wait.Validate(); err != nil {\n\t\t_ = multierror.Append(&mErr, err)\n\t}\n\n\treturn mErr.ErrorOrNil()\n}\n\nfunc (t *Template) Warnings() error {\n\tvar mErr multierror.Error","sourceCodeStart":8986,"sourceCodeEnd":9022,"githubUrl":"https://github.com/hashicorp/nomad/blob/482b49bf1aec006f089bcfc7e632d8f6ac303e5e/nomad/structs/structs.go#L8986-L9022","documentation":"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.","triggerScenarios":"Thrown at nomad/structs/structs.go:9004 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Set splay to a positive duration such as \"5s\"","Omit splay entirely to use the zero default"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"482b49bf1aec006f089bcfc7e632d8f6ac303e5e","analyzedAt":"2026-09-04T07:54:14.808Z","contentChangedAt":"2026-09-04T07:54:14.808Z","schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}