From 91b0e595fe2967ffb1ebc74974a3727f6b4ce2d6 Mon Sep 17 00:00:00 2001 From: Jack Conradson Date: Mon, 8 Sep 2025 15:01:22 -0700 Subject: [PATCH] Add ability to comment in transport version files (#134329) Comments may be added to the beginning of transport version files by starting each comment line with the hash # character. --- .../org/elasticsearch/TransportVersion.java | 5 ++- .../elasticsearch/TransportVersionTests.java | 37 +++++++++++++++++++ 2 files changed, 41 insertions(+), 1 deletion(-) diff --git a/server/src/main/java/org/elasticsearch/TransportVersion.java b/server/src/main/java/org/elasticsearch/TransportVersion.java index 921ed2a18443b..42e8e7fd166e4 100644 --- a/server/src/main/java/org/elasticsearch/TransportVersion.java +++ b/server/src/main/java/org/elasticsearch/TransportVersion.java @@ -114,7 +114,10 @@ public static TransportVersion fromBufferedReader( Integer upperBound ) { try { - String line = bufferedReader.readLine(); + String line; + do { + line = bufferedReader.readLine(); + } while (line.replaceAll("\\s+", "").startsWith("#")); String[] parts = line.replaceAll("\\s+", "").split(","); String check; while ((check = bufferedReader.readLine()) != null) { diff --git a/server/src/test/java/org/elasticsearch/TransportVersionTests.java b/server/src/test/java/org/elasticsearch/TransportVersionTests.java index 453e8692ea35d..538c36f81907c 100644 --- a/server/src/test/java/org/elasticsearch/TransportVersionTests.java +++ b/server/src/test/java/org/elasticsearch/TransportVersionTests.java @@ -399,4 +399,41 @@ public void testSupports() { assertThat(new TransportVersion(null, 100001000, null).supports(test4), is(true)); assertThat(new TransportVersion(null, 100001001, null).supports(test4), is(true)); } + + public void testComment() { + byte[] data1 = ("#comment" + System.lineSeparator() + "1000000").getBytes(StandardCharsets.UTF_8); + TransportVersion test1 = TransportVersion.fromBufferedReader( + "", + "testSupports3", + false, + true, + new BufferedReader(new InputStreamReader(new ByteArrayInputStream(data1), StandardCharsets.UTF_8)), + 5000000 + ); + assertThat(new TransportVersion(null, 1000000, null).supports(test1), is(true)); + + byte[] data2 = (" # comment" + System.lineSeparator() + "1000000").getBytes(StandardCharsets.UTF_8); + TransportVersion test2 = TransportVersion.fromBufferedReader( + "", + "testSupports3", + false, + true, + new BufferedReader(new InputStreamReader(new ByteArrayInputStream(data2), StandardCharsets.UTF_8)), + 5000000 + ); + assertThat(new TransportVersion(null, 1000000, null).supports(test2), is(true)); + + byte[] data3 = ("#comment" + System.lineSeparator() + "# comment3" + System.lineSeparator() + "1000000").getBytes( + StandardCharsets.UTF_8 + ); + TransportVersion test3 = TransportVersion.fromBufferedReader( + "", + "testSupports3", + false, + true, + new BufferedReader(new InputStreamReader(new ByteArrayInputStream(data3), StandardCharsets.UTF_8)), + 5000000 + ); + assertThat(new TransportVersion(null, 1000000, null).supports(test3), is(true)); + } }