Fix timing issue in MessageCountAlertCondition #2546
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.
This condition works by first running a count in Elasticsearch and then,
if the condition triggers, a search to fetch the messages that will be
included in the check result.
Both queries use a RelativeRange object which returns a new time for
every getFrom() and getTo() call that is made. This can result in
different messages being included in the check result or no messages at
all given the count query takes a while.
The RelativeRange is now converted to an AbsoluteRange object which is
then used to run the count and search query. This makes sure the exact
same time range is used no matter how much time is in between the calls.
Refs #1704
Fixes #2382