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

Concurrent Testing Processes and Port Assignments

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 3.5.0
    • 3.5.1, 3.6.0
    • tests
    • 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

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

              Dates

                Created:
                Updated:
                Resolved: