Fix caching in WorkflowLocal/WorkflowThreadLocal (#1876) #1878
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.
What was changed
Reverted caching changes made to WorkflowLocal/WorkflowThreadLocal, which broke backwards compatibility and accidentally shared values between Workflows/Threads. Re-implemented caching as an optional feature, and deprecated the factory methods that created non-caching instances.
Why?
The current implementation both broke backwards compatibility, and did not function correctly; it shared values between Workflows and Threads when it should not have. See #1876 for details.
Checklist
Closes WorkflowLocal shares initial value between all Workflows #1876
How was this tested:
Unit tests
Any docs updates needed?
I don't think
WorkflowLocal
/WorkflowThreadLocal
are documented outside of Javadocs, so no.