!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:
parent
05f402c236
commit
eaad7ecf7e
15 changed files with 350 additions and 439 deletions
|
|
@ -52,10 +52,8 @@ class ClusterMessageSerializerSpec extends AkkaSpec(
|
|||
checkSerialization(InternalClusterAction.InitJoin)
|
||||
checkSerialization(InternalClusterAction.InitJoinAck(address))
|
||||
checkSerialization(InternalClusterAction.InitJoinNack(address))
|
||||
checkSerialization(ClusterHeartbeatReceiver.Heartbeat(address))
|
||||
checkSerialization(ClusterHeartbeatReceiver.EndHeartbeat(address))
|
||||
checkSerialization(ClusterHeartbeatReceiver.EndHeartbeatAck(address))
|
||||
checkSerialization(ClusterHeartbeatSender.HeartbeatRequest(address))
|
||||
checkSerialization(ClusterHeartbeatSender.Heartbeat(address))
|
||||
checkSerialization(ClusterHeartbeatSender.HeartbeatRsp(uniqueAddress))
|
||||
|
||||
val node1 = VectorClock.Node("node1")
|
||||
val node2 = VectorClock.Node("node2")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue