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.
This PR updates flows to write serialized versions of their return values without persisting any metadata to disk. Previously, flows would write result files containing metadata like the serializer used to create the file's
result
payload. The same info already persisted to the API is used when calling.result
on a flow's state.To have the
ResultStore
persist only raw results, I created aNullFileSystem
class that looks like aWritableFileSystem
, but doesn't do anything. TheResultStore
for each flow is given aNullFileSystem
formetadata_storage
, which results in no metadata being written.To allow a
ResultStore
to handle raw results, aserializer
kwarg is added to theread
methods. This option allows the caller to manually provide which serializer to use to deserialize the result. The new kwarg is used internally when loading a result via a flow state's.result
method.