- Notifications
You must be signed in to change notification settings - Fork 25.6k
Switch TDigestState to use HybridDigest by default #96904
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
Merged
Merged
Changes from all commits
Commits
Show all changes
195 commits Select commit Hold shift + click to select a range
3c6c424 Initial import for TDigest forking.
kkrik-es d719767 Fix MedianTest.
kkrik-es e816b57 Fix Dist.
kkrik-es 0079943 Fix AVLTreeDigest.quantile to match Dist for uniform centroids.
kkrik-es 0a18e70 Update docs/changelog/96086.yaml
kkrik-es 96ea462 Fix `MergingDigest.quantile` to match `Dist` on uniform distribution.
kkrik-es 56350ee Add merging to TDigestState.hashCode and .equals.
kkrik-es d731aee Fix style violations for tdigest library.
kkrik-es 18c1cd5 Fix typo.
kkrik-es f96b4d2 Fix more style violations.
kkrik-es 6d0201b Fix more style violations.
kkrik-es 9d48856 Fix remaining style violations in tdigest library.
kkrik-es 68e489f Update results in docs based on the forked tdigest.
kkrik-es 2b3b463 Fix YAML tests in aggs module.
kkrik-es 0d6ea1e Fix YAML tests in x-pack/plugin.
kkrik-es 98c1146 Skip failing V7 compat tests in modules/aggregations.
kkrik-es d49ed67 Fix TDigest library unittests.
kkrik-es 13f17e6 Remove YAML test versions for older releases.
kkrik-es 5d9ae8e Fix test failures in docs and mixed cluster.
kkrik-es 1ad14f8 Reduce buffer sizes in MergingDigest to avoid oom.
kkrik-es af93c26 Exclude more failing V7 compatibility tests.
kkrik-es d82ec3e Update results for JdbcCsvSpecIT tests.
kkrik-es c9ab354 Update results for JdbcDocCsvSpecIT tests.
kkrik-es c19de44 Revert unrelated change.
kkrik-es 9753468 More test fixes.
kkrik-es a23ae32 Use version skips instead of blacklisting in mixed cluster tests.
kkrik-es 054cd90 Switch TDigestState back to AVLTreeDigest.
kkrik-es 2ccefde Update docs and tests with AVLTreeDigest output.
kkrik-es 3801358 Update flaky test.
kkrik-es 52ae1ff Remove dead code, esp around tracking of incoming data.
kkrik-es 6c05469 Update docs/changelog/96086.yaml
kkrik-es 082ac3c Delete docs/changelog/96086.yaml
kkrik-es 5352c96 Remove explicit compression calls.
kkrik-es 90b21bc Merge remote-tracking branch 'upstream/fix/95903' into fix/95903
kkrik-es 0003908 Revert "Remove explicit compression calls."
kkrik-es 91fd594 Remove explicit compression calls to MedianAbsoluteDeviation input.
kkrik-es 4ff173a Add unittests for AVL and merging digest accuracy.
kkrik-es 281bfc7 Fix spotless violations.
kkrik-es e382efa Delete redundant tests and benchmarks.
kkrik-es 60ec86f Fix spotless violation.
kkrik-es fc512a7 Use the old implementation of AVLTreeDigest.
kkrik-es 8bd54c8 Merge branch 'main' into fix/95903
kkrik-es e53bcc8 Update docs with latest percentile results.
kkrik-es 6b29dc7 Update docs with latest percentile results.
kkrik-es b66664c Merge branch 'main' into fix/95903
kkrik-es fe3facd Remove repeated compression calls.
kkrik-es 7389bdc Update more percentile results.
kkrik-es 0ff89ae Use approximate percentile values in integration tests.
kkrik-es 497202b Fix expected percentile value in test.
kkrik-es 093abb7 Revert in-place node updates in AVL tree.
kkrik-es b0c7870 Add SortingDigest and HybridDigest.
kkrik-es 40f1861 Remove deps to the 3.2 library.
kkrik-es 248560d Remove unused licenses for tdigest.
kkrik-es 2336b11 Revert changes for SortingDigest and HybridDigest.
kkrik-es ec87dea Remove unused Histogram classes and unit tests.
kkrik-es 5e06d79 Remove Comparison class, not used.
kkrik-es 3e12dd4 Merge branch 'main' into fix/95903
kkrik-es 7bfb729 Revert "Revert changes for SortingDigest and HybridDigest."
kkrik-es 0842b27 Use HybridDigest as default tdigest implementation
kkrik-es 063ef27 Small fixes.
kkrik-es c028d9c Merge branch 'main' into fix/95903
kkrik-es cb171ab Add javadoc and tests.
kkrik-es dc739af Add javadoc and tests.
kkrik-es 17b03cf Remove special logic for singletons in the boundaries.
kkrik-es 079a8c3 Revert changes to expected values in tests.
kkrik-es 47414c7 Revert changes to expected values in tests.
kkrik-es b8f7c00 Merge branch 'main' into fix/95903
kkrik-es 7718dbb Tentatively restore percentile rank expected results.
kkrik-es 4df40da Use cdf version from 3.2
kkrik-es 77c13eb Revert "Tentatively restore percentile rank expected results."
kkrik-es 4724905 Revert remaining changes compared to main.
kkrik-es 64950c4 Revert excluded V7 compat tests.
kkrik-es 7251150 Exclude V7 compat tests still failing.
kkrik-es 4a78005 Exclude V7 compat tests still failing.
kkrik-es a847290 Remove ClusterSettings tentatively.
kkrik-es 53f6c66 Initial import for TDigest forking.
kkrik-es 317a4ff Fix MedianTest.
kkrik-es a7b0b37 Fix Dist.
kkrik-es 7b4ae66 Fix AVLTreeDigest.quantile to match Dist for uniform centroids.
kkrik-es f7321c1 Update docs/changelog/96086.yaml
kkrik-es 1515ab1 Fix `MergingDigest.quantile` to match `Dist` on uniform distribution.
kkrik-es e1afb49 Add merging to TDigestState.hashCode and .equals.
kkrik-es e7ca078 Fix style violations for tdigest library.
kkrik-es 0a8184f Fix typo.
kkrik-es 766dcb0 Fix more style violations.
kkrik-es 6547bef Fix more style violations.
kkrik-es d3b188d Fix remaining style violations in tdigest library.
kkrik-es 33d6049 Update results in docs based on the forked tdigest.
kkrik-es 2dd1b18 Fix YAML tests in aggs module.
kkrik-es 9da3c8d Fix YAML tests in x-pack/plugin.
kkrik-es b0dbbff Skip failing V7 compat tests in modules/aggregations.
kkrik-es e725a22 Fix TDigest library unittests.
kkrik-es 4a02706 Remove YAML test versions for older releases.
kkrik-es 8edf49e Fix test failures in docs and mixed cluster.
kkrik-es 2944856 Reduce buffer sizes in MergingDigest to avoid oom.
kkrik-es e68f692 Exclude more failing V7 compatibility tests.
kkrik-es c2452e9 Update results for JdbcCsvSpecIT tests.
kkrik-es b6b0721 Update results for JdbcDocCsvSpecIT tests.
kkrik-es 6a49a6b Revert unrelated change.
kkrik-es 989c3f2 More test fixes.
kkrik-es a61a48c Use version skips instead of blacklisting in mixed cluster tests.
kkrik-es 0175ff8 Switch TDigestState back to AVLTreeDigest.
kkrik-es 6babd70 Update docs and tests with AVLTreeDigest output.
kkrik-es 86cde3c Update flaky test.
kkrik-es 32c51ea Remove dead code, esp around tracking of incoming data.
kkrik-es 3904a3b Remove explicit compression calls.
kkrik-es 73872a5 Update docs/changelog/96086.yaml
kkrik-es 37499e6 Delete docs/changelog/96086.yaml
kkrik-es 5dda5bd Revert "Remove explicit compression calls."
kkrik-es 0520197 Remove explicit compression calls to MedianAbsoluteDeviation input.
kkrik-es d9a4ce5 Add unittests for AVL and merging digest accuracy.
kkrik-es cb6564f Fix spotless violations.
kkrik-es 3ce5ec2 Delete redundant tests and benchmarks.
kkrik-es afc812a Fix spotless violation.
kkrik-es e17d30c Use the old implementation of AVLTreeDigest.
kkrik-es 8ce1ac4 Update docs with latest percentile results.
kkrik-es 44f0eb3 Update docs with latest percentile results.
kkrik-es 139eaf6 Remove repeated compression calls.
kkrik-es 0f3e019 Update more percentile results.
kkrik-es 9222e81 Use approximate percentile values in integration tests.
kkrik-es 5b62172 Fix expected percentile value in test.
kkrik-es 244c8c0 Revert in-place node updates in AVL tree.
kkrik-es 75ed609 Add SortingDigest and HybridDigest.
kkrik-es 3e99d90 Remove deps to the 3.2 library.
kkrik-es d23e0f2 Remove unused licenses for tdigest.
kkrik-es 0e41355 Revert changes for SortingDigest and HybridDigest.
kkrik-es 6930a45 Remove unused Histogram classes and unit tests.
kkrik-es bb6f968 Remove Comparison class, not used.
kkrik-es b8e4c79 Revert "Revert changes for SortingDigest and HybridDigest."
kkrik-es bb2d7bb Use HybridDigest as default tdigest implementation
kkrik-es 23634d4 Add javadoc and tests.
kkrik-es c1c9f44 Remove ClusterSettings tentatively.
kkrik-es 97ad6a9 Restore bySize function in TDigest and subclasses.
kkrik-es b13fccb Merge branch 'main' into fix/95903
kkrik-es 0831fbc Merge branch 'fix/95903' into fix/95903-merging
kkrik-es 46460fa Merge remote-tracking branch 'upstream/fix/95903-merging' into fix/95…
kkrik-es 4735914 Update Dist.cdf to match the rest.
kkrik-es e902ca3 Merge branch 'main' into fix/95903
kkrik-es c5be977 Merge branch 'fix/95903-merging' into fix/95903
kkrik-es 5b0f784 Revert outdated test changes.
kkrik-es a6fdc93 Revert outdated changes.
kkrik-es 519b558 Small fixes.
kkrik-es 3a6cdf2 Update docs/changelog/96794.yaml
kkrik-es 5e89aab Merge branch 'fix/95903' into fix/95903-merging
kkrik-es cd6e11a TDigestState uses MergingDigest by default.
kkrik-es cca7b3c Make HybridDigest the default implementation.
kkrik-es c7b80ac Merge remote-tracking branch 'upstream/fix/95903' into fix/95903
kkrik-es e8e8043 Update boxplot documentation.
kkrik-es 90476ca Use HybridDigest for real.
kkrik-es f058ef6 Restore AVLTreeDigest as the default in TDigestState.
kkrik-es a359fbd Use execution_hint in tdigest spec.
kkrik-es efaf6fd Restore expected test values.
kkrik-es dc76a88 Fix Dist.cdf for empty digest.
kkrik-es 7287c19 Bump up TransportVersion.
kkrik-es 66255c1 More test updates.
kkrik-es c206032 Merge branch 'main' into fix/95903
kkrik-es e873fb8 Bump up TransportVersion for real.
kkrik-es fbdbd16 Restore V7 compat blacklisting.
kkrik-es 2b38504 HybridDigest uses its final implementation during deserialization.
kkrik-es 79c1372 Restore the right TransportVersion in TDigestState.read
kkrik-es f61f4ad More test fixes.
kkrik-es 8ec621a Merge branch 'fix/95903' into fix/95903-merging
kkrik-es c0e783d More test updates.
kkrik-es 5c96899 Merge branch 'main' into fix/95903
kkrik-es de29750 Use TDigestExecutionHint instead of strings.
kkrik-es c728714 Add link to TDigest javadoc.
kkrik-es 0956241 Spotless fix.
kkrik-es 4da7b48 Merge branch 'main' into fix/95903
kkrik-es 5edb2a3 Small fixes.
kkrik-es e429ac3 Merge branch 'fix/95903' into fix/95903-merging
kkrik-es 425ce8a Merge branch 'main' into fix/95903
kkrik-es fc11be2 Bump up TransportVersion.
kkrik-es 88c080f Merge branch 'main' into fix/95903
kkrik-es 7929ea2 Bump up the TransportVersion, again.
kkrik-es ff825d2 Merge branch 'main' into fix/95903
kkrik-es 59a0577 Merge branch 'main' into fix/95903
kkrik-es 44c7d7f Merge branch 'fix/95903-merging' into fix/95903
kkrik-es f977b54 Update docs/changelog/96904.yaml
kkrik-es 833e09b Delete 96794.yaml
kkrik-es e05dacc Merge branch 'main' into fix/95903
kkrik-es 50af988 Merge remote-tracking branch 'upstream/fix/95903' into fix/95903
kkrik-es a42c07b Restore previous changelog.
kkrik-es 86622b1 Rename 96794.yaml to 96794.yaml
kkrik-es f4b5650 Update breaking change notes in changelog.
kkrik-es 4873e18 Merge remote-tracking branch 'upstream/fix/95903' into fix/95903
kkrik-es ba7f04f Remove mapping value from changelog.
kkrik-es f8344f6 Set a valid breaking area.
kkrik-es 87ec1e9 Use HybridDigest as default TDigest impl.
kkrik-es 50c882f Update docs/changelog/96904.yaml
kkrik-es 7b96dde Use TDigestExecutionHint in MedianAbsoluteDeviationAggregator.
kkrik-es 74f3b04 Merge remote-tracking branch 'upstream/fix/95903' into fix/95903
kkrik-es c821932 Merge branch 'main' into fix/95903
kkrik-es 1f3ec47 Update changelog and comment in blacklisted V7 compat tests.
kkrik-es d0bfc6c Update breaking area in changelog.
kkrik-es 46a285f Merge branch 'main' into fix/95903
kkrik-es File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,18 @@ | ||
| pr: 96904 | ||
| summary: Switch TDigestState to use `HybridDigest` by default | ||
| area: Aggregations | ||
| type: breaking | ||
| issues: [] | ||
| breaking: | ||
| title: Switch TDigestState to use `HybridDigest` by default | ||
| area: REST API | ||
| details: "The default implementation for TDigest in percentile calculations switches\ | ||
| \ to a new internal implementation offering superior performance (2x-10x speedup),\ | ||
| \ at a very small accuracy penalty for very large sample populations." | ||
| impact: "This change leads to generating slightly different results in percentile\ | ||
| \ calculations. If the highest possible accuracy is desired, or it's crucial to\ | ||
| \ produce exactly the same results as in previous versions, one can either set\ | ||
| \ `execution_hint` to `high_accuracy` in the `tdigest` spec of a given percentile\ | ||
| \ calculation, or set `search.aggs.tdigest_execution_hint` to `high_accuracy`\ | ||
| \ in cluster settings to apply to all percentile queries." | ||
| notable: true |
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
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
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
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
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
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
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
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
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
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
Oops, something went wrong.
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.
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.
🚀