Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Akka.Cluster: need to enable HeartbeatResponse message type #6061

Closed
Aaronontheweb opened this issue Aug 8, 2022 · 0 comments · Fixed by #6063
Closed

Akka.Cluster: need to enable HeartbeatResponse message type #6061

Aaronontheweb opened this issue Aug 8, 2022 · 0 comments · Fixed by #6063

Comments

@Aaronontheweb
Copy link
Member

Is your feature request related to a problem? Please describe.

First introduced in Akka.NET v1.4.19 via #4934, we need to enable the new HeartbeatRsp message to be sent by default. All clients going back to v1.4.19 and earlier have the ability to deserialize this message, but we never introduced the response payload since it could result in a break in wire compatibility.

Thus, we followed our best practice and allowed the read-side code to "age into" existing installations over a long-ish period of time. Now with Akka.NET v1.5 come up it's the right time to enable this particular feature as it will ultimately assist with debugging heartbeat issues inside Akka.Cluster.

Describe the solution you'd like

Need to update the ClusterMessageSerializer to produce the typed protobuf HeartbeatResponse message instead of the old UniqueAddress response message we currently write here:

return UniqueAddressToProto(heartbeatRsp.From).ToByteArray();

You can see what the typed HeartbeatResponse message looks like here:

/**
* Prior to version 1.4.19
* HeartbeatRsp
* Sends an UniqueAddress
* Version 1.4.19 can deserialize this message but does not send it
*/
message HeartBeatResponse {
UniqueAddress from = 1;
int64 sequenceNr = 2;
int64 creationTime = 3;
}

Describe alternatives you've considered

Leaving this as-is and making it opt-in, but we decided against that in Akka.NET v1.4.19. It should be safe for most clusters to just upgrade straight v1.5.0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Development

Successfully merging a pull request may close this issue.

1 participant