From f11e2e5323ffffae686f2aa2d0f8ae73ff4a2cb5 Mon Sep 17 00:00:00 2001 From: Simon Cooper Date: Tue, 14 Feb 2023 10:50:00 +0000 Subject: [PATCH 1/3] Fix TransportVersionUtils.getNextVersion --- .../org/elasticsearch/test/TransportVersionUtils.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/test/framework/src/main/java/org/elasticsearch/test/TransportVersionUtils.java b/test/framework/src/main/java/org/elasticsearch/test/TransportVersionUtils.java index c9c958bb4f7f7..592f042c750a1 100644 --- a/test/framework/src/main/java/org/elasticsearch/test/TransportVersionUtils.java +++ b/test/framework/src/main/java/org/elasticsearch/test/TransportVersionUtils.java @@ -86,6 +86,7 @@ public static TransportVersion getPreviousVersion(TransportVersion version) { // version does not exist - need the item before the index this version should be inserted place = -(place + 1); } + if (place <= 1) { throw new IllegalArgumentException("couldn't find any released versions before [" + version + "]"); } @@ -97,11 +98,15 @@ public static TransportVersion getNextVersion(TransportVersion version) { if (place < 0) { // version does not exist - need the item at the index this version should be inserted place = -(place + 1); + } else { + // need the *next* version + place++; } - if (place <= 1) { + + if (place <= 0) { throw new IllegalArgumentException("couldn't find any released versions after [" + version + "]"); } - return ALL_VERSIONS.get(place + 1); + return ALL_VERSIONS.get(place); } /** Returns a random {@link Version} from all available versions, that is compatible with the given version. */ From 5d785d451a4b375cf4652917cd6610a8cab4adec Mon Sep 17 00:00:00 2001 From: Simon Cooper Date: Tue, 14 Feb 2023 10:55:39 +0000 Subject: [PATCH 2/3] Add check the other side --- .../main/java/org/elasticsearch/test/TransportVersionUtils.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/framework/src/main/java/org/elasticsearch/test/TransportVersionUtils.java b/test/framework/src/main/java/org/elasticsearch/test/TransportVersionUtils.java index 592f042c750a1..f2da540c2f60a 100644 --- a/test/framework/src/main/java/org/elasticsearch/test/TransportVersionUtils.java +++ b/test/framework/src/main/java/org/elasticsearch/test/TransportVersionUtils.java @@ -103,7 +103,7 @@ public static TransportVersion getNextVersion(TransportVersion version) { place++; } - if (place <= 0) { + if (place <= 0 || place >= ALL_VERSIONS.size()) { throw new IllegalArgumentException("couldn't find any released versions after [" + version + "]"); } return ALL_VERSIONS.get(place); From 5c9ccd450551411b2389ca83826605b8f46cbc04 Mon Sep 17 00:00:00 2001 From: Simon Cooper Date: Tue, 14 Feb 2023 15:17:23 +0000 Subject: [PATCH 3/3] Update bounds --- .../java/org/elasticsearch/test/TransportVersionUtils.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/framework/src/main/java/org/elasticsearch/test/TransportVersionUtils.java b/test/framework/src/main/java/org/elasticsearch/test/TransportVersionUtils.java index f2da540c2f60a..c0f4368e20c2b 100644 --- a/test/framework/src/main/java/org/elasticsearch/test/TransportVersionUtils.java +++ b/test/framework/src/main/java/org/elasticsearch/test/TransportVersionUtils.java @@ -87,7 +87,7 @@ public static TransportVersion getPreviousVersion(TransportVersion version) { place = -(place + 1); } - if (place <= 1) { + if (place < 1) { throw new IllegalArgumentException("couldn't find any released versions before [" + version + "]"); } return ALL_VERSIONS.get(place - 1); @@ -103,7 +103,7 @@ public static TransportVersion getNextVersion(TransportVersion version) { place++; } - if (place <= 0 || place >= ALL_VERSIONS.size()) { + if (place < 0 || place >= ALL_VERSIONS.size()) { throw new IllegalArgumentException("couldn't find any released versions after [" + version + "]"); } return ALL_VERSIONS.get(place);