From 8c96a8f98f5342ca90d814dbeb021b0c7f5ba026 Mon Sep 17 00:00:00 2001 From: Ryan Ernst Date: Wed, 2 Jul 2025 15:44:56 -0700 Subject: [PATCH] Test for duplicate transport versions (#130494) 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; + } + } }