Пример #1
0
 def rcv_pingrsp(self, pingmsg):
     # Remove all instances of recovered node from failed node list
     recovered_node = pingmsg.from_node
     while recovered_node in self.failed_nodes:
         self.failed_nodes.remove(recovered_node)
         Framework.clearBlock(recovered_node)
     if recovered_node in self.pending_handoffs:
         for key in self.pending_handoffs[recovered_node]:
             #print 'recovery ---------------------------------'
             # Send our latest value for this key
             (value, metadata) = self.retrieve(key)
             putmsg = PutReq(self, recovered_node, key, value, metadata)
             Framework.send_message(putmsg)
         #print 'schedule'
         Framework.schedule(timers_to_process=0)
         del self.pending_handoffs[recovered_node]
Пример #2
0
 def recovery(self, node):
     # Remove all instances of recovered node from failed node list
     #print 'recover+++++++++++++++++++++++++++'
     recovered_node = node
     while recovered_node in self.failed_nodes:
         self.failed_nodes.remove(recovered_node)
         Framework.clearBlock(recovered_node)
     if recovered_node in self.pending_handoffs:
         for key in self.pending_handoffs[recovered_node]:
             #print 'recovery ---------------------------------'
             # Send our latest value for this key
             (value, metadata) = self.retrieve(key)
             putmsg = PutReq(self.addr, recovered_node, key, value, metadata)
             Framework.send_message(putmsg)
         Framework.schedule()
         del self.pending_handoffs[recovered_node]