diff --git a/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/container/ContainerManager.scala b/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/container/ContainerManager.scala index 038dbe09cff..050f4c8ad90 100644 --- a/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/container/ContainerManager.scala +++ b/core/scheduler/src/main/scala/org/apache/openwhisk/core/scheduler/container/ContainerManager.scala @@ -181,20 +181,22 @@ class ContainerManager(jobManagerFactory: ActorRefFactory => ActorRef, } // handle cold creations - ContainerManager - .schedule(updatedInvokers, coldCreations.map(_._1), memory) - .map { pair => - pair.invokerId match { - // an invoker is assigned for the msg - case Some(instanceId) => - creationJobManager ! RegisterCreationJob(pair.msg) - sendCreationContainerToInvoker(messagingProducer, instanceId.instance, pair.msg) - - // if a chosen invoker does not exist, it means it failed to find a matching invoker for the msg. - case _ => - pair.err.foreach(error => sendState(pair.msg, error, error)) + if (coldCreations.nonEmpty) { + ContainerManager + .schedule(updatedInvokers, coldCreations.map(_._1), memory) + .map { pair => + pair.invokerId match { + // an invoker is assigned for the msg + case Some(instanceId) => + creationJobManager ! RegisterCreationJob(pair.msg) + sendCreationContainerToInvoker(messagingProducer, instanceId.instance, pair.msg) + + // if a chosen invoker does not exist, it means it failed to find a matching invoker for the msg. + case _ => + pair.err.foreach(error => sendState(pair.msg, error, error)) + } } - } + } } } } diff --git a/tests/src/test/scala/org/apache/openwhisk/core/scheduler/container/test/ContainerManagerTests.scala b/tests/src/test/scala/org/apache/openwhisk/core/scheduler/container/test/ContainerManagerTests.scala index d1f43270b64..1474cbddab0 100644 --- a/tests/src/test/scala/org/apache/openwhisk/core/scheduler/container/test/ContainerManagerTests.scala +++ b/tests/src/test/scala/org/apache/openwhisk/core/scheduler/container/test/ContainerManagerTests.scala @@ -136,7 +136,7 @@ class ContainerManagerTests def mockMessaging(receiver: Option[ActorRef] = None): MessagingProvider = { val messaging = stub[MessagingProvider] - val producer = receiver.map(fakeProducer(_)).getOrElse(stub[MessageProducer]) + val producer = receiver.map(fakeProducer).getOrElse(stub[MessageProducer]) val consumer = stub[MessageConsumer] (messaging .getProducer(_: WhiskConfig, _: Option[ByteSize])(_: Logging, _: ActorSystem))