!clu #3683 Change cluster heartbeat to req/rsp protocol

* The previous one-way hearbeat was elegant, but comlicated to
  understand and without giving much extra value compared to this approach.
* The previous one-way heartbeat have some kind of bug when joining
  several (10-20) nodes at approximately the same time (but not exactly
  the same time) with a false failure detection triggered by the extra heartbeat,
  which would not heal.
* This ping-pong approach will increase network traffic slightly, but heartbeat
  messages are small and each node is limited to monitor (default) 5 peers.
This commit is contained in:
Patrik Nordwall 2013-11-07 13:52:08 +01:00
parent 05f402c236
commit eaad7ecf7e
15 changed files with 350 additions and 439 deletions

View file

@ -105,8 +105,8 @@ trait MultiNodeClusterSpec extends Suite with STMultiNodeSpec with WatchedByCoro
}
muteDeadLetters(
classOf[ClusterHeartbeatReceiver.Heartbeat],
classOf[ClusterHeartbeatReceiver.EndHeartbeat],
classOf[ClusterHeartbeatSender.Heartbeat],
classOf[ClusterHeartbeatSender.HeartbeatRsp],
classOf[GossipEnvelope],
classOf[GossipStatus],
classOf[MetricsGossipEnvelope],