|
26 | 26 | import org.elasticsearch.script.Script;
|
27 | 27 | import org.elasticsearch.script.ScriptType;
|
28 | 28 | import org.elasticsearch.search.aggregations.AggregationTestScriptsPlugin;
|
| 29 | +import org.elasticsearch.search.aggregations.BucketOrder; |
29 | 30 | import org.elasticsearch.search.aggregations.InternalAggregation;
|
30 | 31 | import org.elasticsearch.search.aggregations.bucket.filter.Filter;
|
31 | 32 | import org.elasticsearch.search.aggregations.bucket.global.Global;
|
32 | 33 | import org.elasticsearch.search.aggregations.bucket.histogram.Histogram;
|
33 | 34 | import org.elasticsearch.search.aggregations.bucket.terms.Terms;
|
34 |
| -import org.elasticsearch.search.aggregations.BucketOrder; |
35 | 35 |
|
36 | 36 | import java.util.Arrays;
|
37 | 37 | import java.util.Collection;
|
38 | 38 | import java.util.Collections;
|
39 | 39 | import java.util.HashMap;
|
| 40 | +import java.util.HashSet; |
40 | 41 | import java.util.List;
|
41 | 42 | import java.util.Map;
|
| 43 | +import java.util.Set; |
42 | 44 |
|
43 | 45 | import static java.util.Collections.emptyMap;
|
44 | 46 | import static org.elasticsearch.index.query.QueryBuilders.matchAllQuery;
|
@@ -67,21 +69,21 @@ protected Collection<Class<? extends Plugin>> nodePlugins() {
|
67 | 69 |
|
68 | 70 | private static double[] randomPercentiles() {
|
69 | 71 | final int length = randomIntBetween(1, 20);
|
70 |
| - final double[] percentiles = new double[length]; |
71 |
| - for (int i = 0; i < percentiles.length; ++i) { |
| 72 | + final Set<Double> uniquedPercentiles = new HashSet<>(); |
| 73 | + while (uniquedPercentiles.size() < length) { |
72 | 74 | switch (randomInt(20)) {
|
73 | 75 | case 0:
|
74 |
| - percentiles[i] = 0; |
| 76 | + uniquedPercentiles.add(0.0); |
75 | 77 | break;
|
76 | 78 | case 1:
|
77 |
| - percentiles[i] = 100; |
| 79 | + uniquedPercentiles.add(100.0); |
78 | 80 | break;
|
79 | 81 | default:
|
80 |
| - percentiles[i] = randomDouble() * 100; |
| 82 | + uniquedPercentiles.add(randomDouble() * 100); |
81 | 83 | break;
|
82 | 84 | }
|
83 | 85 | }
|
84 |
| - Arrays.sort(percentiles); |
| 86 | + double[] percentiles= uniquedPercentiles.stream().mapToDouble(Double::doubleValue).sorted().toArray(); |
85 | 87 | LogManager.getLogger(HDRPercentilesIT.class).info("Using percentiles={}", Arrays.toString(percentiles));
|
86 | 88 | return percentiles;
|
87 | 89 | }
|
|
0 commit comments