From 02ecb36f7d19a26b7d1beb5429f1413a69f6917c Mon Sep 17 00:00:00 2001 From: Ryan Ernst Date: Wed, 2 Jul 2025 14:02:37 -0700 Subject: [PATCH] Test for duplicate transport versions We used to have an assertion during transport version loading that duplicate ids were not found, but it appears to have been lost in refactorings. This commit adds a test to ensure duplicate ids do not occur. relates #130486 --- .../org/elasticsearch/TransportVersionTests.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/server/src/test/java/org/elasticsearch/TransportVersionTests.java b/server/src/test/java/org/elasticsearch/TransportVersionTests.java index 9b02b66583e78..4e100e3067444 100644 --- a/server/src/test/java/org/elasticsearch/TransportVersionTests.java +++ b/server/src/test/java/org/elasticsearch/TransportVersionTests.java @@ -13,6 +13,7 @@ import org.elasticsearch.test.TransportVersionUtils; import java.lang.reflect.Modifier; +import java.util.List; import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -207,4 +208,16 @@ public void testToString() { assertEquals("2000099", TransportVersion.fromId(2_00_00_99).toString()); assertEquals("5000099", TransportVersion.fromId(5_00_00_99).toString()); } + + public void testDuplicateConstants() { + List tvs = TransportVersion.getAllVersions(); + TransportVersion previous = tvs.get(0); + for (int i = 1; i < tvs.size(); i++) { + TransportVersion next = tvs.get(i); + if (next.id() == previous.id()) { + throw new AssertionError("Duplicate transport version id: " + next.id()); + } + previous = next; + } + } }