From 6ba5c7c76afcbf5965417c08da64a13a280e6454 Mon Sep 17 00:00:00 2001 From: Michael Schurter Date: Thu, 6 Sep 2018 17:46:32 -0700 Subject: [PATCH] fix detection of task transitioning to running --- client/allocrunnerv2/taskrunner/task_runner.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/client/allocrunnerv2/taskrunner/task_runner.go b/client/allocrunnerv2/taskrunner/task_runner.go index 5bdc21c79..7d62e9c7c 100644 --- a/client/allocrunnerv2/taskrunner/task_runner.go +++ b/client/allocrunnerv2/taskrunner/task_runner.go @@ -486,6 +486,7 @@ func (tr *TaskRunner) Restore() error { // SetState sets the task runners allocation state and triggers a server // update. func (tr *TaskRunner) SetState(state string, event *structs.TaskEvent) { + tr.logger.Debug("setting task state", "state", state, "event", event.Type) // Update the local state stateCopy := tr.setStateLocal(state, event) @@ -505,6 +506,7 @@ func (tr *TaskRunner) setStateLocal(state string, event *structs.TaskEvent) *str } // Update the task state + oldState := tr.state.State taskState := tr.state taskState.State = state @@ -515,7 +517,7 @@ func (tr *TaskRunner) setStateLocal(state string, event *structs.TaskEvent) *str switch state { case structs.TaskStateRunning: // Capture the start time if it is just starting - if taskState.State != structs.TaskStateRunning { + if oldState != structs.TaskStateRunning { taskState.StartedAt = time.Now().UTC() if !tr.clientConfig.DisableTaggedMetrics { metrics.IncrCounterWithLabels([]string{"client", "allocs", "running"}, 1, tr.baseLabels)