You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Questions about broken state due to version mismatch seem to pop up again and again. I've clashed against that too, wasn't the first, won't be the last. Would be nice to get the docs updated and some samples working for Bond and Protobuf at least, as to have somewhere to point people at. Putting it here in case someone wants a go at it. Otherwise I'll get to this at some point.
The text was updated successfully, but these errors were encountered:
Related documentation issue at #4771. There are also a few other related issues one might want to document more carefully at #1998 (I'm not sure if it's all relevant currently) and #2483 and #2153 since the same question.
There's a bit of an example from pre-2.n era (before DI) that it should be possible to a custom transformation step besides having a version tolerant serializer too. ADO.NET has one test for switching from binary to XML, but it could also be just a piece of handwritten code. It relies on having a canonical interface for (de)serializing and one example being OrleansStorageDefaultJsonDeserializer (more here).
public SerializationChoice PickDeserializer(stringserviceId,stringstorageProviderInstanceName,stringgrainType,GrainReferencegrainReference,IGrainStategrainState,stringtag=null)
. As seen, it has all the information available, including grain state, to make the decision. It could also do a transformation.
I have been thinking if there'd be a way to unify this idea of picking (de)serializers by whatever data available throughout Orleans. This way one could, say, potentially save on (de)serialization time and stream data via WebAPI straight to data storage (with cancellation support).
We've moved this issue to the Backlog. This means that it is not going to be worked on for the coming release. We review items in the backlog at the end of each milestone/release and depending on the team's priority we may reconsider this issue for the following milestone.
Questions about broken state due to version mismatch seem to pop up again and again. I've clashed against that too, wasn't the first, won't be the last. Would be nice to get the docs updated and some samples working for Bond and Protobuf at least, as to have somewhere to point people at. Putting it here in case someone wants a go at it. Otherwise I'll get to this at some point.
The text was updated successfully, but these errors were encountered: