Skip to content

Commit c2d69e5

Browse files
authored
Specify proper port range in InternalTestCluster (#87885) (#87889)
Today nodes started in an `InternalTestCluster` use `transport.port: 0` and `http.port: 0` which selects a port from the ephemeral range. This range is also used by other tests, notably REST tests, and this can lead to collisions and consequent failures when nodes restart. This commit restricts the range of ports using the same algorithm as in `ESTestCase`, avoiding[^1] such collisions. [^1]: technically this isn't quite enough because the ephemeral range on some CI workers overlaps the ranges chosen by `ESTestCase`, but that's a separate issue tracked in #87734 Closes #87448
1 parent 56d8957 commit c2d69e5

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

test/framework/src/main/java/org/elasticsearch/test/InternalTestCluster.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -387,8 +387,8 @@ public InternalTestCluster(
387387
Builder builder = Settings.builder();
388388
builder.put(Environment.PATH_HOME_SETTING.getKey(), baseDir);
389389
builder.put(Environment.PATH_REPO_SETTING.getKey(), baseDir.resolve("repos"));
390-
builder.put(TransportSettings.PORT.getKey(), 0);
391-
builder.put("http.port", 0);
390+
builder.put(TransportSettings.PORT.getKey(), ESTestCase.getPortRange());
391+
builder.put("http.port", ESTestCase.getPortRange());
392392
if (Strings.hasLength(System.getProperty("tests.es.logger.level"))) {
393393
builder.put("logger.level", System.getProperty("tests.es.logger.level"));
394394
}

0 commit comments

Comments
 (0)