Details
-
Improvement
-
Status: Confirmed
-
Resolution: Unresolved
-
None
-
None
-
None
-
Operating System: All
Platform: All
Description
Our current messages do not hold a reference to sender actor, relying on Actor#getSender() to acquire it as part of processing. This has two problems:
1) it is not immediately obvious whether a message is really an RPC-style request and the receiver is expected to respond. We currently deal with this by having javadocs explaining what is supposed to happen, which is fine except we tend to pass down the sender to handlers of messages where that information is not needed, making it very easy to break the contract described by the message.
2) our long-term goal is to switch to using behaviors (and Akka Typed), where it is recommended to include the ActorRef in the message itself.
Switching to Akka Typed is going to involve code juggling and it would be good if it did not involve also changing our messages at the same time. Hence this issue should be addressed first, forming a baseline for the code refactor.
Attachments
Issue Links
- is blocked by
-
CONTROLLER-1506 CDS: refactor Shard to use behaviors
- Confirmed