Fix two scripted_metric bugs#58547
Merged
nik9000 merged 3 commits intoelastic:masterfrom Jun 25, 2020
Merged
Conversation
Fixes two bugs introduced by elastic#57627: 1. We were not properly letting go of memory from the request breaker when the aggregation finished. 2. We no longer supported totally arbitrary stuff produced by the init script because we *assumed* that it'd be ok to run the script once and clone its results. Sadly, cloning can't clone *anything* that the init script can make, like `String` arrays. This runs the init script once for every new bucket so we don't need to clone.
Collaborator
|
Pinging @elastic/es-analytics-geo (:Analytics/Aggregations) |
Member
Author
|
I've marked this a |
jimczi
reviewed
Jun 25, 2020
| private CircuitBreakerService circuitBreakerService; | ||
|
|
||
| @Before | ||
| public void mockBreaker() { |
Contributor
There was a problem hiding this comment.
We could check this for all aggs in the AggregatorTestCase directly ?
Member
Author
There was a problem hiding this comment.
Would you be ok if I moved it in there in a followup? I think there are quite a few fiddly things involved in getting that right.
Contributor
There was a problem hiding this comment.
Sure, it might uncovered some other bugs so be prepared ;).
|
|
||
| @Override | ||
| public void close() { | ||
| public void doClose() { |
Member
Author
There was a problem hiding this comment.
I'm dreaming of a checkstyle rule.....
Adds code to handle when the init script mutates the aggregation parameters. I hadn't caught this in my initial testing and it is *weird*, but we allow it.
nik9000
added a commit
to nik9000/elasticsearch
that referenced
this pull request
Jun 25, 2020
Fixes two bugs introduced by elastic#57627: 1. We were not properly letting go of memory from the request breaker when the aggregation finished. 2. We no longer supported totally arbitrary stuff produced by the init script because we *assumed* that it'd be ok to run the script once and clone its results. Sadly, cloning can't clone *anything* that the init script can make, like `String` arrays. This runs the init script once for every new bucket so we don't need to clone.
nik9000
added a commit
that referenced
this pull request
Jun 25, 2020
Fixes two bugs introduced by #57627: 1. We were not properly letting go of memory from the request breaker when the aggregation finished. 2. We no longer supported totally arbitrary stuff produced by the init script because we *assumed* that it'd be ok to run the script once and clone its results. Sadly, cloning can't clone *anything* that the init script can make, like `String` arrays. This runs the init script once for every new bucket so we don't need to clone.
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Fixes two bugs introduced by #57627:
when the aggregation finished.
script because we assumed that it'd be ok to run the script once
and clone its results. Sadly, cloning can't clone anything that the
init script can make, like
Stringarrays. This runs the init scriptonce for every new bucket so we don't need to clone.