                                           :outstanding-requests outstanding-requests
                                           :target-instances target-instances
                                           :total-instances instances})
-                           {:scale-to-instances instances :target-instances target-instances :scale-amount 0})]
+                           (do
+                             (log/info "no target instances available for service"
+                                       {:scheduler-state scheduler-state, :service-id service-id})
+                             {:scale-to-instances instances :target-instances target-instances :scale-amount 0}))]
                      (when-not (zero? scale-amount)
                        (apply-scaling-fn service-id
                                          {:outstanding-requests outstanding-requests

  (:require [clj-time.core :as t]
            [clojure.core.async :as async]
            [clojure.set :as set]
            [clojure.string :as str]
            [clojure.tools.logging :as log]
            [metrics.core]
            [metrics.counters :as counters]

                                                          service-ids-set)]
                          (cid/with-correlation-id
                            correlation-id
                            (when (seq new-service-ids)
                              (log/info "started tracking following services:" new-service-ids))
                            (when (seq deleted-service-ids)
                              (log/info "no longer tracking following services:" deleted-service-ids)
                              ; trigger closing of the scaling executors for the services
