Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
This test is flaky - a failure can be seen in this run: https://concourse.apachegeode-ci.info/teams/main/pipelines/apache-develop-main/jobs/AcceptanceTestOpenJDK11/builds/484
The offending bit of code is here:
Integer serverPort = AvailablePortHelper.getRandomAvailableTCPPort(); File logFile = temporaryFolder.newFile(testName.getMethodName() + ".log"); String startServerCommand = "start server --max-threads=50 --max-connections=200 --max-message-count=500 --message-time-to-live=120 --socket-buffer-size=8192 --server-port=" + serverPort + " --use-cluster-configuration=true --name=" + testName.getMethodName() + " --J=-Dgemfire.log-file=" + logFile.getAbsolutePath(); GfshExecution startClusterExecution = GfshScript .of("start locator --name=locator1 --connect=true --enable-cluster-configuration=true", "configure pdx --read-serialized=true", startServerCommand) .execute(gfshRule);
The problem is that a serverPort is retrieved but then only used *after* a locator is started. Sometimes the locator will end up using the 'free' port thus causing a conflict later on when the server starts.