Skip to content

Commit fc8e56f

Browse files
committed
Allow configure manifest file when loading transport versions
This commit adds the manifest file name as an argument when loading transport versions from resource files. This allows multiple manifests to exist on the test classpath at once, eg in serverless.
1 parent 906bbfc commit fc8e56f

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

server/src/main/java/org/elasticsearch/TransportVersion.java

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -163,22 +163,23 @@ public static TransportVersion fromBufferedReader(
163163
}
164164
}
165165

166-
public static List<TransportVersion> collectFromInputStreams(
166+
public static List<TransportVersion> collectFromResources(
167167
String component,
168-
Function<String, InputStream> nameToStream,
168+
Function<String, InputStream> resourceLoader,
169+
String manifestFileName,
169170
String latestFileName
170171
) {
171172
TransportVersion latest = parseFromBufferedReader(
172173
component,
173174
"/transport/latest/" + latestFileName,
174-
nameToStream,
175+
resourceLoader,
175176
(c, p, br) -> fromBufferedReader(c, p, true, false, br, Integer.MAX_VALUE)
176177
);
177178
if (latest != null) {
178179
List<String> versionRelativePaths = parseFromBufferedReader(
179180
component,
180-
"/transport/definitions/manifest.txt",
181-
nameToStream,
181+
"/transport/definitions/" + manifestFileName,
182+
resourceLoader,
182183
(c, p, br) -> br.lines().filter(line -> line.isBlank() == false).toList()
183184
);
184185
if (versionRelativePaths != null) {
@@ -187,7 +188,7 @@ public static List<TransportVersion> collectFromInputStreams(
187188
TransportVersion transportVersion = parseFromBufferedReader(
188189
component,
189190
"/transport/definitions/" + versionRelativePath,
190-
nameToStream,
191+
resourceLoader,
191192
(c, p, br) -> fromBufferedReader(c, p, false, versionRelativePath.startsWith("named/"), br, latest.id())
192193
);
193194
if (transportVersion != null) {
@@ -426,9 +427,10 @@ private static class VersionsHolder {
426427
static {
427428
// collect all the transport versions from server and es modules/plugins (defined in server)
428429
List<TransportVersion> allVersions = new ArrayList<>(TransportVersions.DEFINED_VERSIONS);
429-
List<TransportVersion> streamVersions = collectFromInputStreams(
430+
List<TransportVersion> streamVersions = collectFromResources(
430431
"<server>",
431432
TransportVersion.class::getResourceAsStream,
433+
"manifest.txt",
432434
Version.CURRENT.major + "." + Version.CURRENT.minor + ".csv"
433435
);
434436
Map<String, TransportVersion> allVersionsByName = streamVersions.stream()

0 commit comments

Comments
 (0)