Description
In #87448 we saw a test failure because the failing test was using port 35677 which was also in use by a different test case. I think the other test case involved a real cluster since it had a build hash, and since we shouldn't have any clashes between ESTestCase
-based tests running with different test workers thanks to #85777. As far as I can tell we set http.port: 0
and transport.port: 0
in these real-cluster tests which causes Elasticsearch to choose some arbitrary free port from the ephemeral port range. Is it possible 35677 is considered an ephemeral port on some workers?
If so, I see a couple of options:
- reduce the ephemeral port range on all workers so it doesn't overlap the ports chosen by an
ESTestCase
, or - be specific about which ports each node should use, chosen using the same algorithm as
ESTestCase
to avoid collisions:
elasticsearch/test/framework/src/main/java/org/elasticsearch/test/ESTestCase.java
Lines 1691 to 1756 in 06d5baa