Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GEODE-3613: Allocate unique ports to containers #2844

Closed
wants to merge 2 commits into from
Closed

GEODE-3613: Allocate unique ports to containers #2844

wants to merge 2 commits into from

Conversation

dhemery
Copy link
Contributor

@dhemery dhemery commented Nov 13, 2018

ServerContainer sometimes assigned the same port to multiple containers.

ServerContainer used AvailablePortHelper to allocate available ports.
Due to an inherent design flaw, AvailablePortHelper sometimes delivers
the same port number on multiple calls, which results in the same port
being used for multiple purposes.

ServerContainer now allocates ports using a single UniquePortSupplier
created by the test.

Additionally:

  • Convert Cargo-based tests from DUnit base class to rule-based
  • Start a new locator for each test
  • Add cargo version to dependency-versions.properties
  • Give each test class its own temp directory
  • Fix bad check for container state validity
  • Fix modify_war script to detect missing jar command and abort
  • General test cleanup and de-duplication
  • Announce start and end of each test to stdout

Co-Authored-By: Galen O'Sullivan gosullivan@pivotal.io
Co-Authored-By: Dale Emery demery@pivotal.io

Thank you for submitting a contribution to Apache Geode.

In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:

For all changes:

  • Is there a JIRA ticket associated with this PR? Is it referenced in the commit message?

  • Has your PR been rebased against the latest commit within the target branch (typically develop)?

  • Is your initial contribution a single, squashed commit?

  • Does gradlew build run cleanly?

  • Have you written or updated unit tests to verify your changes?

  • If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?

Note:

Please ensure that once the PR is submitted, you check travis-ci for build issues and
submit an update to your PR as soon as possible. If you need help, please send an
email to dev@geode.apache.org.

dhemery and others added 2 commits November 15, 2018 11:46
ServerContainer sometimes assigned the same port to multiple containers.

ServerContainer used AvailablePortHelper to allocate available ports.
Due to an inherent design flaw, AvailablePortHelper sometimes delivers
the same port number on multiple calls, which results in the same port
being used for multiple purposes.

ServerContainer now allocates ports using a single UniquePortSupplier
created by the test.

Additionally:

- Convert Cargo-based tests from DUnit base class to rule-based
- Start a new locator for each test
- Add cargo version to dependency-versions.properties
- Give each test class its own temp directory
- Fix bad check for container state validity
- Fix modify_war script to detect missing jar command and abort
- General test cleanup and de-duplication
- Announce start and end of each test to stdout

Co-Authored-By: Galen O'Sullivan <gosullivan@pivotal.io>
Co-Authored-By: Dale Emery <demery@pivotal.io>
@dhemery
Copy link
Contributor Author

dhemery commented Dec 3, 2018

This PR has moved to #2938.

@dhemery dhemery closed this Dec 3, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant