Skip to content

[7.x] Refactor Percentiles/Ranks aggregation builders and factories (#51887)#54537

Merged
polyfractal merged 2 commits intoelastic:7.xfrom
polyfractal:percentiles_refactor_7x
Apr 2, 2020
Merged

[7.x] Refactor Percentiles/Ranks aggregation builders and factories (#51887)#54537
polyfractal merged 2 commits intoelastic:7.xfrom
polyfractal:percentiles_refactor_7x

Conversation

@polyfractal
Copy link
Copy Markdown
Contributor

Backport of #51887 to 7.x branch, in preparation for VS refactor

I need to do another pass over this tomorrow to make sure everything is ok to merge. It passed tests locally, and there were only minor conflicts, but this does touch serialization. And an exception changed from 5xx (IllegalStateException) to 4xx (IllegalArgumentException) if I remember correctly.

But I need fresher eyes, so tomorrow :)

…c#51887)

- Consolidates HDR/TDigest factories into a single factory
- Consolidates most HDR/TDigest builder into an abstract builder
- Deprecates method(), compression(), numSigFig() in favor of a new
unified PercentileConfig object
- Disallows setting algo options that don't apply to current algo

The unified config method carries both the method and algo-specific
setting. This provides a mechanism to reject settings that apply
to the wrong algorithm.  For BWC the old methods are retained
but marked as deprecated, and can be removed in future versions.

Co-authored-by: Mark Tozzi <mark.tozzi@gmail.com>
@elasticmachine
Copy link
Copy Markdown
Collaborator

Pinging @elastic/es-analytics-geo (:Analytics/Aggregations)

@polyfractal polyfractal merged commit 20d6772 into elastic:7.x Apr 2, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants