diff --git a/akka-cluster-tools/src/main/scala/akka/cluster/client/ClusterClient.scala b/akka-cluster-tools/src/main/scala/akka/cluster/client/ClusterClient.scala index 851726b7b8..6f976d49a8 100644 --- a/akka-cluster-tools/src/main/scala/akka/cluster/client/ClusterClient.scala +++ b/akka-cluster-tools/src/main/scala/akka/cluster/client/ClusterClient.scala @@ -308,9 +308,13 @@ final class ClusterClient(settings: ClusterClientSettings) extends Actor with Ac } def sendGetContacts(): Unit = { - if (contacts.isEmpty) initialContactsSel foreach { _ ! GetContacts } - else if (contacts.size == 1) (initialContactsSel ++ contacts) foreach { _ ! GetContacts } - else contacts foreach { _ ! GetContacts } + val sendTo = + if (contacts.isEmpty) initialContactsSel + else if (contacts.size == 1) (initialContactsSel ++ contacts) + else contacts + if (log.isDebugEnabled) + log.debug(s"""Sending GetContacts to [${sendTo.mkString(",")}]""") + sendTo.foreach { _ ! GetContacts } } def buffer(msg: Any): Unit = diff --git a/akka-cluster-tools/src/multi-jvm/scala/akka/cluster/client/ClusterClientSpec.scala b/akka-cluster-tools/src/multi-jvm/scala/akka/cluster/client/ClusterClientSpec.scala index 2a4fcfa447..9c1f0625f5 100644 --- a/akka-cluster-tools/src/multi-jvm/scala/akka/cluster/client/ClusterClientSpec.scala +++ b/akka-cluster-tools/src/multi-jvm/scala/akka/cluster/client/ClusterClientSpec.scala @@ -35,6 +35,8 @@ object ClusterClientSpec extends MultiNodeConfig { akka.cluster.auto-down-unreachable-after = 0s akka.cluster.client.heartbeat-interval = 1s akka.cluster.client.acceptable-heartbeat-pause = 3s + # number-of-contacts must be >= 4 because we shutdown all but one in the end + akka.cluster.client.number-of-contacts = 4 """)) testTransport(on = true)