diff --git a/akka-cluster/src/main/resources/reference.conf b/akka-cluster/src/main/resources/reference.conf index fa6860a1a8..e2fe6cc8d1 100644 --- a/akka-cluster/src/main/resources/reference.conf +++ b/akka-cluster/src/main/resources/reference.conf @@ -36,9 +36,6 @@ akka { # how often should the node send out gossip information? gossip-interval = 1s - # how often should the node send out heartbeats? - heartbeat-interval = 1s - # how often should the leader perform maintenance tasks? leader-actions-interval = 1s @@ -76,6 +73,9 @@ akka { # akka.cluster.ClusterSettings parameters implementation-class = "akka.cluster.AccrualFailureDetector" + # how often should the node send out heartbeats? + heartbeat-interval = 1s + # defines the failure detector threshold # A low threshold is prone to generate many wrong suspicions but ensures # a quick detection in the event of a real crash. Conversely, a high diff --git a/akka-cluster/src/main/scala/akka/cluster/ClusterSettings.scala b/akka-cluster/src/main/scala/akka/cluster/ClusterSettings.scala index 4212e59c1c..3c7baa4f76 100644 --- a/akka-cluster/src/main/scala/akka/cluster/ClusterSettings.scala +++ b/akka-cluster/src/main/scala/akka/cluster/ClusterSettings.scala @@ -23,6 +23,7 @@ class ClusterSettings(val config: Config, val systemName: String) { Duration(getMilliseconds("akka.cluster.failure-detector.min-std-deviation"), MILLISECONDS) final val FailureDetectorAcceptableHeartbeatPause: FiniteDuration = Duration(getMilliseconds("akka.cluster.failure-detector.acceptable-heartbeat-pause"), MILLISECONDS) + final val HeartbeatInterval: FiniteDuration = Duration(getMilliseconds("akka.cluster.failure-detector.heartbeat-interval"), MILLISECONDS) final val SeedNodes: IndexedSeq[Address] = getStringList("akka.cluster.seed-nodes").asScala.map { case AddressFromURIString(addr) ⇒ addr @@ -30,7 +31,6 @@ class ClusterSettings(val config: Config, val systemName: String) { final val SeedNodeTimeout: FiniteDuration = Duration(getMilliseconds("akka.cluster.seed-node-timeout"), MILLISECONDS) final val PeriodicTasksInitialDelay: FiniteDuration = Duration(getMilliseconds("akka.cluster.periodic-tasks-initial-delay"), MILLISECONDS) final val GossipInterval: FiniteDuration = Duration(getMilliseconds("akka.cluster.gossip-interval"), MILLISECONDS) - final val HeartbeatInterval: FiniteDuration = Duration(getMilliseconds("akka.cluster.heartbeat-interval"), MILLISECONDS) final val LeaderActionsInterval: FiniteDuration = Duration(getMilliseconds("akka.cluster.leader-actions-interval"), MILLISECONDS) final val UnreachableNodesReaperInterval: FiniteDuration = Duration(getMilliseconds("akka.cluster.unreachable-nodes-reaper-interval"), MILLISECONDS) final val PublishStatsInterval: FiniteDuration = Duration(getMilliseconds("akka.cluster.publish-stats-interval"), MILLISECONDS) diff --git a/akka-cluster/src/multi-jvm/scala/akka/cluster/MultiNodeClusterSpec.scala b/akka-cluster/src/multi-jvm/scala/akka/cluster/MultiNodeClusterSpec.scala index f38d80ace5..68ed7d91e7 100644 --- a/akka-cluster/src/multi-jvm/scala/akka/cluster/MultiNodeClusterSpec.scala +++ b/akka-cluster/src/multi-jvm/scala/akka/cluster/MultiNodeClusterSpec.scala @@ -8,7 +8,7 @@ import com.typesafe.config.Config import com.typesafe.config.ConfigFactory import akka.actor.{ Address, ExtendedActorSystem } import akka.remote.testconductor.RoleName -import akka.remote.testkit.{STMultiNodeSpec, MultiNodeSpec} +import akka.remote.testkit.{ STMultiNodeSpec, MultiNodeSpec } import akka.testkit._ import scala.concurrent.util.duration._ import scala.concurrent.util.Duration @@ -31,15 +31,15 @@ object MultiNodeClusterSpec { def clusterConfig: Config = ConfigFactory.parseString(""" akka.actor.provider = akka.cluster.ClusterActorRefProvider akka.cluster { - auto-join = on - auto-down = off - jmx.enabled = off - gossip-interval = 200 ms - heartbeat-interval = 400 ms - leader-actions-interval = 200 ms - unreachable-nodes-reaper-interval = 200 ms - periodic-tasks-initial-delay = 300 ms - publish-stats-interval = 0 s # always, when it happens + auto-join = on + auto-down = off + jmx.enabled = off + gossip-interval = 200 ms + leader-actions-interval = 200 ms + unreachable-nodes-reaper-interval = 200 ms + periodic-tasks-initial-delay = 300 ms + publish-stats-interval = 0 s # always, when it happens + failure-detector.heartbeat-interval = 400 ms } akka.remote.log-remote-lifecycle-events = off akka.test {