From c20b19d0f7358fea7c80a0040aab865484e18521 Mon Sep 17 00:00:00 2001
From: Craig Tiller <craig.tiller@gmail.com>
Date: Tue, 22 Sep 2015 13:06:06 -0700
Subject: [PATCH] better logging

---
 tools/run_tests/port_server.py | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/tools/run_tests/port_server.py b/tools/run_tests/port_server.py
index d14c829fe0..48da995471 100755
--- a/tools/run_tests/port_server.py
+++ b/tools/run_tests/port_server.py
@@ -52,7 +52,7 @@ with open(__file__) as f:
   _MY_VERSION = hashlib.sha1(f.read()).hexdigest()
 
 
-def refill_pool(max_timeout):
+def refill_pool(max_timeout, req):
   """Scan for ports not marked for being in use"""
   for i in range(1025, 32767):
     if len(pool) > 100: break
@@ -60,11 +60,13 @@ def refill_pool(max_timeout):
       age = time.time() - in_use[i]
       if age < max_timeout:
         continue
+      req.log_message("kill old request %d" % i)
       del in_use[i]
     s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
     s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
     try:
       s.bind(('localhost', i))
+      req.log_message("found available port %d" % i)
       pool.append(i)
     except:
       pass # we really don't care about failures
@@ -72,13 +74,14 @@ def refill_pool(max_timeout):
       s.close()
 
 
-def allocate_port():
+def allocate_port(req):
   global pool
   global in_use
   max_timeout = 600
   while not pool:
-    refill_pool(max_timeout)
+    refill_pool(max_timeout, req)
     if not pool:
+      req.log_message("failed to find ports: retrying soon")
       time.sleep(1)
       max_timeout /= 2
   port = pool[0]
@@ -100,7 +103,7 @@ class Handler(BaseHTTPServer.BaseHTTPRequestHandler):
       self.send_response(200)
       self.send_header('Content-Type', 'text/plain')
       self.end_headers()
-      p = allocate_port()
+      p = allocate_port(self)
       self.log_message('allocated port %d' % p)
       self.wfile.write('%d' % p)
     elif self.path[0:6] == '/drop/':
-- 
GitLab