{"record":{"id":"27818bde272a3cba","repo":"hashicorp/nomad","slug":"minimum-healthy-time-must-be-less-than-healthy-dea","errorCode":null,"errorMessage":"Minimum healthy time must be less than healthy deadline: %v > %v","messagePattern":"Minimum healthy time must be less than healthy deadline: (.+?) > (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"nomad/structs/structs.go","lineNumber":5495,"sourceCode":"\t\t_ = multierror.Append(&mErr, fmt.Errorf(\"Max parallel can not be less than zero: %d < 0\", u.MaxParallel))\n\t}\n\tif u.Canary < 0 {\n\t\t_ = multierror.Append(&mErr, fmt.Errorf(\"Canary count can not be less than zero: %d < 0\", u.Canary))\n\t}\n\tif u.Canary == 0 && u.AutoPromote {\n\t\t_ = multierror.Append(&mErr, fmt.Errorf(\"Auto Promote requires a Canary count greater than zero\"))\n\t}\n\tif u.MinHealthyTime < 0 {\n\t\t_ = multierror.Append(&mErr, fmt.Errorf(\"Minimum healthy time may not be less than zero: %v\", u.MinHealthyTime))\n\t}\n\tif u.HealthyDeadline <= 0 {\n\t\t_ = multierror.Append(&mErr, fmt.Errorf(\"Healthy deadline must be greater than zero: %v\", u.HealthyDeadline))\n\t}\n\tif u.ProgressDeadline < 0 {\n\t\t_ = multierror.Append(&mErr, fmt.Errorf(\"Progress deadline must be zero or greater: %v\", u.ProgressDeadline))\n\t}\n\tif u.MinHealthyTime >= u.HealthyDeadline {\n\t\t_ = multierror.Append(&mErr, fmt.Errorf(\"Minimum healthy time must be less than healthy deadline: %v > %v\", u.MinHealthyTime, u.HealthyDeadline))\n\t}\n\tif u.ProgressDeadline != 0 && u.HealthyDeadline >= u.ProgressDeadline {\n\t\t_ = multierror.Append(&mErr, fmt.Errorf(\"Healthy deadline must be less than progress deadline: %v > %v\", u.HealthyDeadline, u.ProgressDeadline))\n\t}\n\tif u.Stagger <= 0 {\n\t\t_ = multierror.Append(&mErr, fmt.Errorf(\"Stagger must be greater than zero: %v\", u.Stagger))\n\t}\n\n\treturn mErr.ErrorOrNil()\n}\n\nfunc (u *UpdateStrategy) IsEmpty() bool {\n\tif u == nil {\n\t\treturn true\n\t}\n\n\t// When the Job is transformed from api to struct, the Update Strategy block is\n\t// copied into the existing task groups, the only things that are passed along","sourceCodeStart":5477,"sourceCodeEnd":5513,"githubUrl":"https://github.com/hashicorp/nomad/blob/482b49bf1aec006f089bcfc7e632d8f6ac303e5e/nomad/structs/structs.go#L5477-L5513","documentation":"Error \"Minimum healthy time must be less than healthy deadline: %v > %v\" thrown in hashicorp/nomad.","triggerScenarios":"Thrown at nomad/structs/structs.go:5495 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"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"}