Brings back support for StringData
in ATS provider
#8965
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently the Azure Table Storage provider saves the grain state (encoded JSON) but in binary format- Regardless if the orleans serializer or one of the two json serializer are used. And while it can be decoded as UTF-8, its cumbersome to do that when someone wants to manually intervene and change the data in ATS. Let alone just a quick way to simply look at the data.
This PR brings back
StringData
but with the difference that its does NOT useNewtonsoft.Json
to serialize the data as it was previously, but instead uses theGrainStorageSerializer
and converts theBinaryData
to a string format. This allows the data to follow what ever grain storage serializer is configured by the user i.e.: Newtonsoft.Jsonor
System.Text.Json`.AFAIK this is not a breaking change, as we'll continue to read both formats for backwards compatibility.
Microsoft Reviewers: Open in CodeFlow