diff --git a/server/src/main/java/org/elasticsearch/common/Rounding.java b/server/src/main/java/org/elasticsearch/common/Rounding.java index ebfa043333ade..c795fa8cd3ca2 100644 --- a/server/src/main/java/org/elasticsearch/common/Rounding.java +++ b/server/src/main/java/org/elasticsearch/common/Rounding.java @@ -240,9 +240,9 @@ public interface Prepared { /** * Rounds the given value. - *

- * Prefer {@link #prepare(long, long)} if rounding many values. + * @deprecated Prefer {@link #prepare} and then {@link Prepared#round(long)} */ + @Deprecated public final long round(long utcMillis) { return prepare(utcMillis, utcMillis).round(utcMillis); } @@ -252,9 +252,9 @@ public final long round(long utcMillis) { * {@link #round(long)}, returns the next rounding value. For * example, with interval based rounding, if the interval is * 3, {@code nextRoundValue(6) = 9}. - *

- * Prefer {@link #prepare(long, long)} if rounding many values. + * @deprecated Prefer {@link #prepare} and then {@link Prepared#nextRoundingValue(long)} */ + @Deprecated public final long nextRoundingValue(long utcMillis) { return prepare(utcMillis, utcMillis).nextRoundingValue(utcMillis); } diff --git a/server/src/test/java/org/elasticsearch/common/rounding/RoundingDuelTests.java b/server/src/test/java/org/elasticsearch/common/rounding/RoundingDuelTests.java index b791d0e3ce9dd..2bba52a0b7591 100644 --- a/server/src/test/java/org/elasticsearch/common/rounding/RoundingDuelTests.java +++ b/server/src/test/java/org/elasticsearch/common/rounding/RoundingDuelTests.java @@ -60,16 +60,16 @@ public void testSerialization() throws Exception { public void testDuellingImplementations() { org.elasticsearch.common.Rounding.DateTimeUnit randomDateTimeUnit = randomFrom(org.elasticsearch.common.Rounding.DateTimeUnit.values()); - org.elasticsearch.common.Rounding rounding; + org.elasticsearch.common.Rounding.Prepared rounding; Rounding roundingJoda; if (randomBoolean()) { - rounding = org.elasticsearch.common.Rounding.builder(randomDateTimeUnit).timeZone(ZoneOffset.UTC).build(); + rounding = org.elasticsearch.common.Rounding.builder(randomDateTimeUnit).timeZone(ZoneOffset.UTC).build().prepareForUnknown(); DateTimeUnit dateTimeUnit = DateTimeUnit.resolve(randomDateTimeUnit.getId()); roundingJoda = Rounding.builder(dateTimeUnit).timeZone(DateTimeZone.UTC).build(); } else { TimeValue interval = timeValue(); - rounding = org.elasticsearch.common.Rounding.builder(interval).timeZone(ZoneOffset.UTC).build(); + rounding = org.elasticsearch.common.Rounding.builder(interval).timeZone(ZoneOffset.UTC).build().prepareForUnknown(); roundingJoda = Rounding.builder(interval).timeZone(DateTimeZone.UTC).build(); } diff --git a/server/src/test/java/org/elasticsearch/search/aggregations/bucket/histogram/InternalAutoDateHistogramTests.java b/server/src/test/java/org/elasticsearch/search/aggregations/bucket/histogram/InternalAutoDateHistogramTests.java index fd49e57e7c9aa..4d7e9b731a56e 100644 --- a/server/src/test/java/org/elasticsearch/search/aggregations/bucket/histogram/InternalAutoDateHistogramTests.java +++ b/server/src/test/java/org/elasticsearch/search/aggregations/bucket/histogram/InternalAutoDateHistogramTests.java @@ -157,6 +157,7 @@ protected void assertReduced(InternalAutoDateHistogram reduced, List expectedCounts = new TreeMap<>(); if (totalBucketConut > 0) { - long keyForBucket = roundingInfo.rounding.round(lowest); - while (keyForBucket <= roundingInfo.rounding.round(highest)) { + long keyForBucket = prepared.round(lowest); + while (keyForBucket <= prepared.round(highest)) { long nextKey = keyForBucket; for (int i = 0; i < innerIntervalToUse; i++) { - nextKey = roundingInfo.rounding.nextRoundingValue(nextKey); + nextKey = prepared.nextRoundingValue(nextKey); } Instant key = Instant.ofEpochMilli(keyForBucket); expectedCounts.put(key, 0L); @@ -214,7 +215,7 @@ protected void assertReduced(InternalAutoDateHistogram reduced, List= keyForBucket && roundedBucketKey < nextKey) { expectedCounts.compute(key, @@ -227,8 +228,8 @@ protected void assertReduced(InternalAutoDateHistogram reduced, List createParser(boolean lenient) { @@ -296,7 +300,7 @@ public ZoneId getTimeZone() { return timeZone; } - public Rounding getRounding() { + Rounding.Prepared getRounding() { return rounding; } diff --git a/x-pack/plugin/rollup/src/test/java/org/elasticsearch/xpack/rollup/job/RollupIndexerIndexingTests.java b/x-pack/plugin/rollup/src/test/java/org/elasticsearch/xpack/rollup/job/RollupIndexerIndexingTests.java index 8ab5b68b7ae7c..673c49122bc12 100644 --- a/x-pack/plugin/rollup/src/test/java/org/elasticsearch/xpack/rollup/job/RollupIndexerIndexingTests.java +++ b/x-pack/plugin/rollup/src/test/java/org/elasticsearch/xpack/rollup/job/RollupIndexerIndexingTests.java @@ -283,7 +283,7 @@ public void testSimpleDateHistoWithDelay() throws Exception { asMap("the_histo", now) ) ); - final Rounding rounding = dateHistoConfig.createRounding(); + final Rounding.Prepared rounding = dateHistoConfig.createRounding(); executeTestCase(dataset, job, now, (resp) -> { assertThat(resp.size(), equalTo(3)); IndexRequest request = resp.get(0); @@ -350,7 +350,7 @@ public void testSimpleDateHistoWithOverlappingDelay() throws Exception { asMap("the_histo", now) ) ); - final Rounding rounding = dateHistoConfig.createRounding(); + final Rounding.Prepared rounding = dateHistoConfig.createRounding(); executeTestCase(dataset, job, now, (resp) -> { assertThat(resp.size(), equalTo(2)); IndexRequest request = resp.get(0);