You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Tell memoizer the task result earlier, to fix race condition #3762 (#3979)
Prior to this PR, the memoizer was told about the result in the
AppFuture result callback.
By the time this happens, the user workflow code can also observe that
the task is completed and also observe that the memoizer has not got a
copy of the result: for example, by invoking the same app again
immediately and seeing a duplicate execution.
The AppFuture callback shouldn't have anything in it that is related to
user-observable task completion, but this PR does not remove other stuff
in there.
This PR moves update_memo earlier, to before setting the AppFuture
result, so that the memoizer is strictly before future changes state.
# Changed Behaviour
Checkpointing behaviour will now be slightly less racy. In situations
where that race condition would have fired, the user will now see fewer
apps actually executed, and memoized results used instead. This is, I
think, a very rare situation.
# Fixes#3762
## Type of change
- Bug fix
0 commit comments