From 5b3953275992a0b7c91a2b3990a4fedbf06828bd Mon Sep 17 00:00:00 2001 From: Preetha Appan Date: Mon, 3 Dec 2018 11:16:35 -0600 Subject: [PATCH] Add guards around subtracting summary count --- nomad/state/state_store.go | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/nomad/state/state_store.go b/nomad/state/state_store.go index 0996b00291b..646d9e42a19 100644 --- a/nomad/state/state_store.go +++ b/nomad/state/state_store.go @@ -3573,11 +3573,17 @@ func (s *StateStore) updateSummaryWithAlloc(index uint64, alloc *structs.Allocat // Decrementing the count of the bin of the last state switch existingAlloc.ClientStatus { case structs.AllocClientStatusRunning: - tgSummary.Running -= 1 + if tgSummary.Running > 0 { + tgSummary.Running -= 1 + } case structs.AllocClientStatusPending: - tgSummary.Starting -= 1 + if tgSummary.Starting > 0 { + tgSummary.Starting -= 1 + } case structs.AllocClientStatusLost: - tgSummary.Lost -= 1 + if tgSummary.Lost > 0 { + tgSummary.Lost -= 1 + } case structs.AllocClientStatusFailed, structs.AllocClientStatusComplete: default: s.logger.Error("invalid old client status for allocatio",