From 0f7e98f78ebca8fd68a1c51f4637dca41a6c6074 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20Pa=C3=9F?= <22845248+mpass99@users.noreply.github.com> Date: Wed, 8 Nov 2023 14:36:06 +0100 Subject: [PATCH] Refactor PrewarmingPoolAlert triggering from route-based to Nomad-Event-Stream-based. --- internal/api/health.go | 2 +- internal/runner/nomad_manager.go | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/internal/api/health.go b/internal/api/health.go index 8349a59..5c2699f 100644 --- a/internal/api/health.go +++ b/internal/api/health.go @@ -35,7 +35,7 @@ func checkPrewarmingPool(manager environment.Manager) error { } } if len(depletingEnvironments) > 0 { - arrayToString := strings.Trim(strings.Join(strings.Fields(fmt.Sprint(depletingEnvironments)), ","), "[]") + arrayToString := strings.Trim(strings.Join(strings.Fields(fmt.Sprint(depletingEnvironments)), ", "), "[]") return fmt.Errorf("%w: environments %s", ErrorPrewarmingPoolDepleting, arrayToString) } return nil diff --git a/internal/runner/nomad_manager.go b/internal/runner/nomad_manager.go index 3cc82d6..fcfe2e5 100644 --- a/internal/runner/nomad_manager.go +++ b/internal/runner/nomad_manager.go @@ -110,8 +110,8 @@ func (m *NomadRunnerManager) DeleteEnvironment(id dto.EnvironmentID) { m.reloadingEnvironment.Delete(id.ToString()) } -// checkPrewarmingPoolAlert checks if the prewarming pool contains enough idle runners as specified by the PrewarmingPoolThreshold -// if not it starts an environment reload mechanism according to the PrewarmingPoolReloadTimeout. +// checkPrewarmingPoolAlert checks if the prewarming pool contains enough idle runners as specified by the PrewarmingPoolThreshold. +// If not, it starts an environment reload mechanism according to the PrewarmingPoolReloadTimeout. func (m *NomadRunnerManager) checkPrewarmingPoolAlert(environment ExecutionEnvironment, runnerAdded bool) { data, ok := m.reloadingEnvironment.Get(environment.ID().ToString()) if !ok { @@ -126,8 +126,8 @@ func (m *NomadRunnerManager) checkPrewarmingPoolAlert(environment ExecutionEnvir return } - // With this hard lock we collect/block goroutines waiting for one reload to be done. - // However, in practice its likely that only up to PrewarmingPoolSize/2 goroutines are waiting. + // With this hard lock, we collect/block goroutines waiting for one reload to be done. + // However, in practice, it's likely that only up to PrewarmingPoolSize/2 goroutines are waiting. // We could avoid the waiting, but we use it to solve the race conditions of the recursive call above. data.Lock() defer data.Unlock() @@ -142,7 +142,7 @@ func (m *NomadRunnerManager) checkPrewarmingPoolAlert(environment ExecutionEnvir ctx, cancel := context.WithCancel(context.Background()) data.cancel = cancel - log.WithField(dto.KeyEnvironmentID, environment.ID()).Info("Prewarming Pool Alert. Checking again..") + log.WithField(dto.KeyEnvironmentID, environment.ID()).Info("Prewarming Pool Alert. Checking again...") select { case <-ctx.Done(): return