Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

As of July, 2021, Geode's build system no longer executes test worker processes in separate Docker containers.

This means that each Increased risk of port collision. Each test worker JVM and each Java process started by a test executes directly in the environment provided by the host machine. This creates a risk that tests running concurrently might try to bind to the same port.

Safely allocating ports. To reduce this risk, Gradle now assigns each test worker JVM a distinct range of membership ports and a distinct range of non-membership ports. No two concurrently executing tests will have any ports in common. In CI, which runs 24 distributed tests concurrently, each test gets a range of about 400 membership ports and 800 non-membership ports.

In JVMs running the latest version of Geode, AvailablePort and AvailablePortHelper will choose random ports from these this assigned rangesrange. As a result, no two well-behaved tests will ever try to bind to the same port, no matter how many are running concurrently.

...