Uploaded image for project: 'ZooKeeper'
  1. ZooKeeper
  2. ZOOKEEPER-2183

Concurrent Testing Processes and Port Assignments

VotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 3.5.0
    • Fix Version/s: 3.5.1, 3.6.0
    • Component/s: tests
    • Labels:
      None

      Description

      Tests use PortAssignment#unique for assignment of the ports to bind during tests. Currently, this method works by using a monotonically increasing counter from a static starting point. Generally, this is sufficient to achieve uniqueness within a single JVM process, but it does not achieve uniqueness across multiple processes on the same host. This can cause tests to get bind errors if there are multiple pre-commit jobs running concurrently on the same Jenkins host. This also prevents running tests in parallel to improve the speed of pre-commit runs.

        Attachments

        1. ZOOKEEPER-2183.001.patch
          21 kB
          Chris Nauroth
        2. ZOOKEEPER-2183.002.patch
          21 kB
          Chris Nauroth
        3. threads-change.patch
          1 kB
          Hongchao Deng
        4. ZOOKEEPER-2183.003.patch
          25 kB
          Chris Nauroth
        5. ZOOKEEPER-2183.004.patch
          31 kB
          Chris Nauroth
        6. ZOOKEEPER-2183.005.patch
          32 kB
          Chris Nauroth

        Issue Links

          Activity

            People

            • Assignee:
              cnauroth Chris Nauroth
              Reporter:
              cnauroth Chris Nauroth

              Dates

              • Created:
                Updated:
                Resolved:

                Issue deployment