akka.net
akka.net copied to clipboard
Need to make PersistenceMessageSerializer version tolerant
Version: v1.4.19
Right now our PersistenceMessageSerializer isn't using type manifests for its message names:
https://github.com/akkadotnet/akka.net/blob/dev/src/core/Akka.Persistence/Serialization/PersistenceMessageSerializer.cs
We need to perform the same type of transformation we just applied to the https://github.com/akkadotnet/akka.net/pull/4989 in order to preserve backwards compatibility with previously serialized message types while also decoupling any future changes to the internal type names from the manifests we use inside the persistence payloads.
Before we release v1.4.20 we will need to make sure this change is compatibility-tested against Akka.Persistence.SqlServer and its nightly builds.
This issue is nastier than it looks, problem with the Akka.Persistence.Fsm.PersistentFSM.PersistentFSMSnapshot class being a generic class, making it really hard to hard code a manifest string and create a hard coded backward compatibility manifest for this class.
This issue is nastier than it looks, problem with the
Akka.Persistence.Fsm.PersistentFSM.PersistentFSMSnapshotclass being a generic class, making it really hard to hard code a manifest string and create a hard coded backward compatibility manifest for this class.
That is nasty....