From adeb4fc8b868b00483dccd701e6d3c13a4739b52 Mon Sep 17 00:00:00 2001 From: Patrik Nordwall Date: Thu, 13 Sep 2012 10:54:00 +0200 Subject: [PATCH] Handle empty availableNodes, see #2103 --- .../scala/akka/cluster/routing/ClusterRouterConfig.scala | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/akka-cluster/src/main/scala/akka/cluster/routing/ClusterRouterConfig.scala b/akka-cluster/src/main/scala/akka/cluster/routing/ClusterRouterConfig.scala index 89622867af..e2d8b8b204 100644 --- a/akka-cluster/src/main/scala/akka/cluster/routing/ClusterRouterConfig.scala +++ b/akka-cluster/src/main/scala/akka/cluster/routing/ClusterRouterConfig.scala @@ -186,11 +186,12 @@ private[akka] class ClusterRouteeProvider( private def selectDeploymentTarget: Option[Address] = { val currentRoutees = routees - if (currentRoutees.size >= settings.totalInstances) { + val currentNodes = availbleNodes + if (currentRoutees.size >= settings.totalInstances || currentNodes.isEmpty) { None } else { val numberOfRouteesPerNode: Map[Address, Int] = - Map.empty[Address, Int] ++ availbleNodes.toSeq.map(_ -> 0) ++ + Map.empty[Address, Int] ++ currentNodes.toSeq.map(_ -> 0) ++ currentRoutees.groupBy(fullAddress).map { case (address, refs) ⇒ address -> refs.size }