[AV-3601] Initialise ivars after lock and do not execute decisions/entries if finished #5
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.
When the store yields inside a with_lock call, subsequent requests will block until the lock is available. At that time the object will be reloaded. However, the previous implementation in
decision_treeset the ivars before callingstart_workflow. This led to the ivars holding values from the original instantiation of the store and incorrectly processing against those. They need to be set after the store object has been reloaded.Also, I've had to put in early returns to stop decisions and entry points from being run after the workflow has already finished.