-
Notifications
You must be signed in to change notification settings - Fork 25k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fixup rare terms #64366
Fixup rare terms #64366
Conversation
In elastic#64016 I caused a bug in rare_terms where we would rewrite the current leaf and remove all hits from it, causing us to trip an assertion. This didn't happen before because previously we never rewrote the current leaf. The fix involves cleaning up the state that the deferring collector uses if we end up removing all hits. This requires some super intimate knowledge of how `BestBucketsDeferringCollector` works so I decided to move the implementation of that mergin from `MergingBucketsDeferringCollector` into `BestBucketsDeferringCollector`. This means that `MergingBucketsDeferringCollector` is pretty much empty now. So I've deprecated it and will remove it entirely in an subsequent change. Closes elastic#64356
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.
Seems reasonable to me.
|
||
/** | ||
* Build the {@link DeferringBucketCollector}. The default implementation | ||
* selects the best buckets but some aggs want to do something else. |
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.
I know you just transcribed this from the old comment, but it might be nice to define "best" here. Like what criteria it uses.
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.
👍
I believe this PR needs to be backported. The same failure is still happening with branch 7.x: https://gradle-enterprise.elastic.co/s/ywuksrllpmfie |
Another one (7.x) and this time is for |
One more in 7.x: |
In elastic#64016 I caused a bug in rare_terms where we would rewrite the current leaf and remove all hits from it, causing us to trip an assertion. This didn't happen before because previously we never rewrote the current leaf. The fix involves cleaning up the state that the deferring collector uses if we end up removing all hits. This requires some super intimate knowledge of how `BestBucketsDeferringCollector` works so I decided to move the implementation of that mergin from `MergingBucketsDeferringCollector` into `BestBucketsDeferringCollector`. This means that `MergingBucketsDeferringCollector` is pretty much empty now. So I've deprecated it and will remove it entirely in an subsequent change. Closes elastic#64356
Pinging @elastic/es-analytics-geo (:Analytics/Aggregations) |
Sorry I hadn't opened the backport yesterday! I've just opened it and will merge when jenkins is happy. |
In #64016 I caused a bug in rare_terms where we would rewrite the current leaf and remove all hits from it, causing us to trip an assertion. This didn't happen before because previously we never rewrote the current leaf. The fix involves cleaning up the state that the deferring collector uses if we end up removing all hits. This requires some super intimate knowledge of how `BestBucketsDeferringCollector` works so I decided to move the implementation of that mergin from `MergingBucketsDeferringCollector` into `BestBucketsDeferringCollector`. This means that `MergingBucketsDeferringCollector` is pretty much empty now. So I've deprecated it and will remove it entirely in an subsequent change. Closes #64356
Removes `MergingBucketsDeferringCollector` which I deprecated in elastic#64366.
Removes `MergingBucketsDeferringCollector` which I deprecated in #64366.
Removes `MergingBucketsDeferringCollector` which I deprecated in elastic#64366.
In #64016 I caused a bug in rare_terms where we would rewrite the
current leaf and remove all hits from it, causing us to trip an
assertion. This didn't happen before because previously we never rewrote
the current leaf. The fix involves cleaning up the state that the
deferring collector uses if we end up removing all hits.
This requires some super intimate knowledge of how
BestBucketsDeferringCollector
works so I decided to move theimplementation of that mergin from
MergingBucketsDeferringCollector
into
BestBucketsDeferringCollector
. This means thatMergingBucketsDeferringCollector
is pretty much empty now. So I'vedeprecated it and will remove it entirely in an subsequent change.
Closes #64356