fix(alerts): avoid race condition in anomaly detection requests #87815
+6
−6
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.
Reported bug was that some requests to Seer from the UI did not include
config.sensitivity
andconfig.expected_seasonality
. Because this was an intermittent, I suspected a race condition.After digging into the logic more, I noticed one spot where
fetchAnomalies()
could potentially be called before the component's state changes had been synchronized.The fix, as in other places, is to defer fetching until the state changes have been flushed by passing
() => this.fetchAnomalies()
as the second callback argument tothis.setState
.I'm very eager to get rid of this class component and eliminate this class of bug 😄👍
Closes getsentry/seer#2141