This repository was archived by the owner on Aug 23, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 107
fix Server.findSeries() limit application #1934
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. I like that the LeavesOnly
filtering is now done in findSeries
Do the chaos-stack tests need to be updated or is there an actual problem?
* the limit was incorrectly applied on the number of api.Series. these structures represent a full find result (with possibly many timeseries) for each given combination of pattern and peer. Instead, we have to look inside of these at the actual amount of idx.Node structures they contain, and only consider those that are leaf nodes (as they represent timeseries) and not branch nodes * make it "streaming" based: as soon as we detect a per-req limit breach, cancel all pending requests (similar to the mechanism we already had, where if a peer reports a limit breach on its proportional request, we also cancel the others) * while we're at it, we may as well filter out unneeded branches centrally/earlier too
f909b6b
to
f1d241f
Compare
fantastic! the test found a legitimate problem! fix is above :) |
just for fun i also ran the test with this patch
...to confirm correct behavior when limit is hit. lo and behold:
and
|
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
these structures represent a full find result (with possibly many
timeseries) for each given combination of pattern and peer.
Instead, we have to look inside of these at the actual amount
of idx.Node structures they contain, and only consider those
that are leaf nodes (as they represent timeseries) and not
branch nodes
breach, cancel all pending requests (similar to the mechanism
we already had, where if a peer reports a limit breach on its
proportional request, we also cancel the others)
centrally/earlier too