You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by el...@apache.org on 2014/12/08 03:10:03 UTC

accumulo git commit: ACCUMULO-3306 Simplify PortUtils.getRandomFreePort

Repository: accumulo
Updated Branches:
  refs/heads/master 175401f9e -> 53991fe7b


ACCUMULO-3306 Simplify PortUtils.getRandomFreePort

Remove the computation of a "random" port number
and just use the OS provided feature of asking
to bind the socket on '0'. Fixed a bug where
the count variable was not incremented.


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/53991fe7
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/53991fe7
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/53991fe7

Branch: refs/heads/master
Commit: 53991fe7b05023b0cea5894c14040fc213b2be4e
Parents: 175401f
Author: Josh Elser <el...@apache.org>
Authored: Sun Dec 7 20:55:42 2014 -0500
Committer: Josh Elser <el...@apache.org>
Committed: Sun Dec 7 20:55:42 2014 -0500

----------------------------------------------------------------------
 .../org/apache/accumulo/server/util/PortUtils.java | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/53991fe7/server/base/src/main/java/org/apache/accumulo/server/util/PortUtils.java
----------------------------------------------------------------------
diff --git a/server/base/src/main/java/org/apache/accumulo/server/util/PortUtils.java b/server/base/src/main/java/org/apache/accumulo/server/util/PortUtils.java
index f710b0f..c50d05b 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/util/PortUtils.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/util/PortUtils.java
@@ -23,29 +23,26 @@ import java.util.Random;
 public class PortUtils {
 
   public static int getRandomFreePort() {
-    Random r = new Random();
     int count = 0;
-    
+
     while (count < 13) {
-      int port = r.nextInt((1 << 16) - 1024) + 1024;
-      
       ServerSocket so = null;
       try {
-        so = new ServerSocket(port);
+        so = new ServerSocket(0);
         so.setReuseAddress(true);
-        return port;
+        return so.getLocalPort();
       } catch (IOException ioe) {
-        
+
       } finally {
         if (so != null)
           try {
             so.close();
           } catch (IOException e) {}
       }
-      
+
+      count++;
     }
-    
+
     throw new RuntimeException("Unable to find port");
   }
-  
 }