Skip to content

Conversation

@DaveCTurner
Copy link
Contributor

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, avoiding1 such collisions.

Closes #87448

Footnotes

  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 [CI] Real-cluster tests pick ports that clash with ESTestCase port ranges #87734

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 elastic#87734

Closes elastic#87448
@DaveCTurner DaveCTurner added >test Issues or PRs that are addressing/adding tests :Delivery/Build Build or test infrastructure v7.17.5 v8.4.0 v8.3.1 labels Jun 21, 2022
@elasticmachine elasticmachine added the Team:Delivery Meta label for Delivery team label Jun 21, 2022
@elasticmachine
Copy link
Collaborator

Pinging @elastic/es-delivery (Team:Delivery)

@DaveCTurner DaveCTurner merged commit 4599a3d into elastic:master Jun 21, 2022
@DaveCTurner DaveCTurner deleted the 2022-06-21-specify-port-range-in-InternalTestCluster branch June 21, 2022 13:58
DaveCTurner added a commit to DaveCTurner/elasticsearch that referenced this pull request Jun 21, 2022
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 elastic#87734

Closes elastic#87448
DaveCTurner added a commit to DaveCTurner/elasticsearch that referenced this pull request Jun 21, 2022
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 elastic#87734

Closes elastic#87448
@elasticsearchmachine
Copy link
Collaborator

💚 Backport successful

Status Branch Result
7.17
8.3

elasticsearchmachine pushed a commit that referenced this pull request Jun 21, 2022
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
elasticsearchmachine pushed a commit that referenced this pull request Jun 21, 2022
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

:Delivery/Build Build or test infrastructure Team:Delivery Meta label for Delivery team >test Issues or PRs that are addressing/adding tests v7.17.5 v8.3.1 v8.4.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[CI] StableMasterDisruptionIT testFollowerCheckerDetectsUnresponsiveNodeAfterMasterReelection failing

4 participants