Pass only the minimum set of fields needed to resolvers #12
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 makes a modification to non-batched field resolvers (as well as single-field batch resolvers) to only pass the minimum set of data needed to resolver functions.
Why?
Pacer should limit the set of fields passed to all resolvers as best practice. Pacer does not and cannot know whether or not the value returned from a resolver function will stick around in a long-lived stateful process, and if the value passed into the resolver function is just added to or expanded upon, it is possible that passing the entire workflow struct into any resolver can lead to accidental exponential and/or geometric growth in memory usage.