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

Concurrent Testing Processes and Port Assignments

    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.005.patch
          32 kB
          Chris Nauroth
        2. ZOOKEEPER-2183.004.patch
          31 kB
          Chris Nauroth
        3. ZOOKEEPER-2183.003.patch
          25 kB
          Chris Nauroth
        4. threads-change.patch
          1 kB
          Hongchao Deng
        5. ZOOKEEPER-2183.002.patch
          21 kB
          Chris Nauroth
        6. ZOOKEEPER-2183.001.patch
          21 kB
          Chris Nauroth

          Issue Links

            Activity

              People

              • Assignee:
                cnauroth Chris Nauroth
                Reporter:
                cnauroth Chris Nauroth
              • Votes:
                0 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: