1 - triagedhelp wanted
Metriche repository
- Star
- (13.277 stelle)
- Metriche merge PR
- (Merge medio 8g 19h) (10 PR mergiate in 30 g)
Descrizione
Some example projects and also the current style guide recommend using Option for state in event sourced behaviors (entities). This causes two issues:
- Double serialization -
Optionis caught byMiscMessageSerializer, which delegates payload serialization to another serializer based on configuration and then serializes the result again withContainerFormats.Option. - Payload serialization is always synchronous, so this results in blocking IO in a case where state uses
AsyncSerializer.
These issues could be fixed by implementing following changes:
- Altering documentation to suggest using
sealed traithierarchies orcase classeswhich containOptionto express empty state. - Converting
MiscMessageSerializertoAsyncSerializer.
Behavior seems obviously undesirable, so I'm wondering if I am missing something or does this actually need fixing?
I've noticed this issue with Lagom 1.6.4 entities, but since they fallback to Akka actors for everything I assume this is a general Akka issue.