[
https://issues.apache.org/jira/browse/GEODE-8772?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17347163#comment-17347163
]
ASF subversion and git services commented on GEODE-8772:
--------------------------------------------------------
Commit d9d001975047d9951aaaf74a94f6e53909ad4f14 in geode's branch
refs/heads/develop from Dale Emery
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=d9d0019 ]
GEODE-8772: SessionsAndCrashesDUnitTest assign app port (#6497)
Change `SessionsAndCrashesDUnitTest` to assign its test app's server
port, rather than using Spring's fixed default server port 8080.
PROBLEM
`SessionsAndCrashesDUnitTest` was running its test app using Spring's
fixed default server port 8080. If this test runs outside of Docker,
the fixed default port may be in use in another test.
> Make tests assign necessary ports in test JVM [PERMANENT]
> ---------------------------------------------------------
>
> Key: GEODE-8772
> URL: https://issues.apache.org/jira/browse/GEODE-8772
> Project: Geode
> Issue Type: Test
> Components: tests
> Affects Versions: 1.14.0
> Reporter: Dale Emery
> Assignee: Dale Emery
> Priority: Major
> Labels: GeodeOperationAPI, pull-request-available
>
> *Make tests assign all necessary ports.* Many distributed tests and upgrade
> tests (and sometimes others) launch members with default ports, especially
> for JMX (1099) and HTTP service (7070). When run in parallel outside of
> docker, these tests often fail because the default port is already in use in
> another test.
> Except when specifically testing the product's use of the defaults, every
> test should assign ports from a pool of ports known to be available. For many
> tests, we can accomplish this by changing the test framework to assign
> available ports. Other tests may require changes in the test code.
> *Assign ports only in test JVMs, and not in child VMs.* The
> {{AvailablePortHelper}} class occasionally gains new features to improve its
> assignment of ports when tests run in parallel. For these improvements to
> work, each test must use the latest {{AvailablePortHelper}} implementation
> for all port assignments. Child VMs that run older versions of Geode may not
> include the latest implementation of {{AvailablePortHelper}}. For this
> reason, tests should invoke {{AvailablePortHelper}} only in the test JVM and
> not in child VMs.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)