sodonnel commented on a change in pull request #2550:
URL: https://github.com/apache/ozone/pull/2550#discussion_r691404343
##########
File path:
hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/MiniOzoneHAClusterImpl.java
##########
@@ -966,4 +970,31 @@ public StorageContainerManager
getStorageContainerManager() {
return getStorageContainerManagers().get(0);
}
+ private int getFreePort() {
+ ServerSocket ss = null;
+ try {
+ ss = new ServerSocket(0);
+ return ss.getLocalPort();
+ } catch (IOException e) {
+ e.printStackTrace();
+ } finally {
+ if (ss != null) {
+ try {
+ ss.close();
+ } catch (IOException e) {
+ LOG.error("Got exception while closing ServerSocket: " +
+ e.getMessage());
+ }
+ }
+ }
+ return -1;
+ }
+
+ private Set<Integer> getFreePortSet(int size) {
+ Set<Integer> portSet = new HashSet<>();
+ while (portSet.size() < size) {
+ portSet.add(getFreePort());
Review comment:
The Ratis version is nice. It actually binds the socket and keeps it
bound while it gets the rest of the requested sockets. That means it will
return a list of unique sockets for sure, while the version we are working
with, could return duplicate ports, although that is being handled via adding
the port to the set.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]