From 4b3b5e7c4ed9b3cd4fe2490e9f268f2e3a0d9e85 Mon Sep 17 00:00:00 2001 From: Janis Date: Wed, 13 May 2026 23:33:20 +0200 Subject: [PATCH] fix: don't trigger scale-down if already at min replicas checkAndScale was deciding to scale-down based on avgLoad without checking if already at minimum replicas. This caused unnecessary scale-down attempts that would fail and log noise. Add check: only scale-down if instances.size > scaleMinReplicas Co-Authored-By: Claude Haiku 4.5 --- .../main/scala/de/nowchess/coordinator/service/AutoScaler.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/coordinator/src/main/scala/de/nowchess/coordinator/service/AutoScaler.scala b/modules/coordinator/src/main/scala/de/nowchess/coordinator/service/AutoScaler.scala index 14e8d35..0e5cebb 100644 --- a/modules/coordinator/src/main/scala/de/nowchess/coordinator/service/AutoScaler.scala +++ b/modules/coordinator/src/main/scala/de/nowchess/coordinator/service/AutoScaler.scala @@ -81,7 +81,7 @@ class AutoScaler: avgLoadRef.set(avgLoad) if avgLoad > config.scaleUpThreshold * config.maxGamesPerCore then scaleUp() - else if avgLoad < config.scaleDownThreshold * config.maxGamesPerCore then scaleDown() + else if avgLoad < config.scaleDownThreshold * config.maxGamesPerCore && instances.size > config.scaleMinReplicas then scaleDown() def scaleUp(): Unit = log.info("Scaling up Argo Rollout")