Ahmed Hussein created HADOOP-17314:
--------------------------------------

             Summary: Reduce port collisions in JUnits
                 Key: HADOOP-17314
                 URL: https://issues.apache.org/jira/browse/HADOOP-17314
             Project: Hadoop Common
          Issue Type: Bug
            Reporter: Ahmed Hussein
            Assignee: Ahmed Hussein


Several Junit tests passes a non-zero port number to 
{{ServerSocketUtil.getPort()}}.
I noticed that those non-zero values are shared between test methods. Based, on 
the implementation of {{ServerSocketUtil.getPort()}}, the port is checked then, 
the socket is closed immediately.
Two concurrent tests can have the same port number, but one of them fails with 
binding exceptions.

Passing a zero port number reduces the probability of returning the same port 
numbers in two different tests, because the {{ServerSocketUtil.getPort()}} will 
call a random port number.

An example of that is as described in HDFS-15618. {{testRead()}} between 
{{TestBlockTokenWithDFSStriped}} and {{TestBlockTokenWithDFS}} where port 19870 
is used by the two test cases.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: common-dev-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-dev-h...@hadoop.apache.org

Reply via email to