[ML] Fix race condition updating reindexing progress #56135
Merged
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.
In #55763 I thought I could remove the flag that marks
reindexing was finished on a data frame analytics task.
However, that exposed a race condition. It is possible that
between updating reindexing progress to 100 because we
have called
DataFrameAnalyticsManager.startAnalytics()
anda call to the _stats API which updates reindexing progress via the
method
DataFrameAnalyticsTask.updateReindexTaskProgress()
weend up overwriting the 100 with a lower progress value.
This commit fixes this issue by bringing back the help of
a
isReindexingFinished
flag as it was prior to #55763.Closes #56128