Netflix/chaosmonkey · error
not terminating: check for min time between terminations fai
Error message
not terminating: check for min time between terminations failed
What it means
Returned by doTerminate when the min-time-between-terminations checker rejects the would-be termination (e.g. another termination happened too recently for this app); the wrapped error preserves the checker's reason for the violation.
Source
Thrown at term/term.go:159
log.Printf("No eligible instances in group, nothing to terminate: %+v", group)
return nil
}
log.Printf("Picked: %s", instance)
loc, err := d.MonkeyCfg.Location()
if err != nil {
return errors.Wrap(err, "not terminating: could not retrieve location")
}
trm := chaosmonkey.Termination{Instance: instance, Time: d.Cl.Now(), Leashed: leashed}
//
// Check that we don't violate min time between terminations
//
err = d.Checker.Check(trm, *appCfg, d.MonkeyCfg.EndHour(), loc)
if err != nil {
return errors.Wrap(err, "not terminating: check for min time between terminations failed")
}
//
// Record the termination with configured trackers
//
for _, tracker := range d.Trackers {
err = tracker.Track(trm)
if err != nil {
return errors.Wrap(err, "not terminating: recording termination event failed")
}
}
//
// Actual instance termination happens here
//
err = killer.Execute(trm)
if err != nil {
return errors.Wrap(err, "termination failed")View on GitHub (pinned to eaa28fb761)
Solutions
- Schedule the next run respecting the app's minimum interval config
- Inspect the wrapped checker error to see the elapsed-vs-required timing
- Do not force termination; this guard protects app stability
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at term/term.go:159 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of Netflix/chaosmonkey@eaa28fb761 (2026-09-03).
Data as JSON: /api/errors/e08ec7aa767d51d7.
Report an issue: GitHub.