From 2e02463e59275c7cf028bb81ebb9a470a1d4103f Mon Sep 17 00:00:00 2001 From: iverase Date: Fri, 18 Mar 2022 10:33:21 +0100 Subject: [PATCH] Fix GeoGridTestCase#toXContent --- .../aggregations/bucket/geogrid/GeoGridTestCase.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/server/src/test/java/org/elasticsearch/search/aggregations/bucket/geogrid/GeoGridTestCase.java b/server/src/test/java/org/elasticsearch/search/aggregations/bucket/geogrid/GeoGridTestCase.java index 454ad5a9f3ad7..81114cafc7f5a 100644 --- a/server/src/test/java/org/elasticsearch/search/aggregations/bucket/geogrid/GeoGridTestCase.java +++ b/server/src/test/java/org/elasticsearch/search/aggregations/bucket/geogrid/GeoGridTestCase.java @@ -56,14 +56,19 @@ protected T createTestInstance(String name, Map metadata, Intern final int precision = randomPrecision(); int size = randomNumberOfBuckets(); List buckets = new ArrayList<>(size); + final List seen = new ArrayList<>(size); + int finalSize = 0; for (int i = 0; i < size; i++) { double latitude = randomDoubleBetween(-90.0, 90.0, false); double longitude = randomDoubleBetween(-180.0, 180.0, false); - long hashAsLong = longEncode(longitude, latitude, precision); - buckets.add(createInternalGeoGridBucket(hashAsLong, randomInt(IndexWriter.MAX_DOCS), aggregations)); + if (seen.contains(hashAsLong) == false) { // make sure we don't add twice the same bucket + buckets.add(createInternalGeoGridBucket(hashAsLong, randomInt(IndexWriter.MAX_DOCS), aggregations)); + seen.add(hashAsLong); + finalSize++; + } } - return createInternalGeoGrid(name, size, buckets, metadata); + return createInternalGeoGrid(name, finalSize, buckets, metadata); } @Override