Commit e9ee29f6 authored by Tom Niget's avatar Tom Niget

Add logs

parent e0917607
...@@ -609,6 +609,7 @@ class RegistryServer: ...@@ -609,6 +609,7 @@ class RegistryServer:
return zlib.compress(json.dumps(config).encode("utf-8")) return zlib.compress(json.dumps(config).encode("utf-8"))
def _queryAddress(self, peer): def _queryAddress(self, peer):
logging.info("Querying address for %s/%s", int(peer, 2), len(peer))
self.sendto(peer, 1) self.sendto(peer, 1)
s = self.sock, s = self.sock,
timeout = 3 timeout = 3
...@@ -616,6 +617,7 @@ class RegistryServer: ...@@ -616,6 +617,7 @@ class RegistryServer:
# Loop because there may be answers from previous requests. # Loop because there may be answers from previous requests.
while select.select(s, (), (), timeout)[0]: while select.select(s, (), (), timeout)[0]:
prefix, msg = self.recv(1) prefix, msg = self.recv(1)
logging.info("* received: %s - %s", prefix, msg)
if prefix == peer: if prefix == peer:
return msg return msg
timeout = max(0, end - time.time()) timeout = max(0, end - time.time())
...@@ -629,6 +631,7 @@ class RegistryServer: ...@@ -629,6 +631,7 @@ class RegistryServer:
@rpc @rpc
def getBootstrapPeer(self, cn): def getBootstrapPeer(self, cn):
logging.info("Answering bootstrap peer for %s", cn)
with self.peers_lock: with self.peers_lock:
age, peers = self.peers age, peers = self.peers
if age < time.time() or not peers: if age < time.time() or not peers:
...@@ -640,6 +643,7 @@ class RegistryServer: ...@@ -640,6 +643,7 @@ class RegistryServer:
peers.append(self.prefix) peers.append(self.prefix)
random.shuffle(peers) random.shuffle(peers)
self.peers = time.time() + 60, peers self.peers = time.time() + 60, peers
logging.debug("peers: %r", peers)
peer = peers.pop() peer = peers.pop()
if peer == cn: if peer == cn:
# Very unlikely (e.g. peer restarted with empty cache), # Very unlikely (e.g. peer restarted with empty cache),
...@@ -649,6 +653,7 @@ class RegistryServer: ...@@ -649,6 +653,7 @@ class RegistryServer:
with self.lock: with self.lock:
msg = self._queryAddress(peer) msg = self._queryAddress(peer)
if msg is None: if msg is None:
logging.info("No address for %s, returning None", peer)
return return
# Remove country for old nodes # Remove country for old nodes
if self.getPeerProtocol(cn) < 7: if self.getPeerProtocol(cn) < 7:
...@@ -778,6 +783,7 @@ class RegistryServer: ...@@ -778,6 +783,7 @@ class RegistryServer:
@rpc_private @rpc_private
def topology(self): def topology(self):
logging.info("Computing topology")
p = lambda p: '%s/%s' % (int(p, 2), len(p)) p = lambda p: '%s/%s' % (int(p, 2), len(p))
peers = deque((p(self.prefix),)) peers = deque((p(self.prefix),))
graph = defaultdict(set) graph = defaultdict(set)
...@@ -787,6 +793,7 @@ class RegistryServer: ...@@ -787,6 +793,7 @@ class RegistryServer:
r, w, _ = select.select(s, s if peers else (), (), 3) r, w, _ = select.select(s, s if peers else (), (), 3)
if r: if r:
prefix, x = self.recv(5) prefix, x = self.recv(5)
logging.info("Received %s %s", prefix, x)
if prefix and x: if prefix and x:
prefix = p(prefix) prefix = p(prefix)
x = x.split() x = x.split()
...@@ -801,8 +808,11 @@ class RegistryServer: ...@@ -801,8 +808,11 @@ class RegistryServer:
graph[x].add(prefix) graph[x].add(prefix)
graph[''].add(prefix) graph[''].add(prefix)
if w: if w:
self.sendto(utils.binFromSubnet(peers.popleft()), 5) first = peers.popleft()
logging.info("Sending %s", first)
self.sendto(utils.binFromSubnet(first), 5)
elif not r: elif not r:
logging.info("No more sockets, stopping")
break break
return json.dumps({k: list(v) for k, v in graph.items()}) return json.dumps({k: list(v) for k, v in graph.items()})
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment