From a1a2dab540bbb88cfe15c87aa33c63821dba3eac 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 3866aaa5ed674..046d609cb99a6 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; @@ -216,4 +217,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; + } + } }