PySyft icon indicating copy to clipboard operation
PySyft copied to clipboard

Peer health checks

Open shubham3121 opened this issue 10 months ago • 2 comments

Description

Please include a summary of the change, the motivation, and any additional context that will help others understand your PR. If it closes one or more open issues, please tag them as described here.

Affected Dependencies

List any dependencies that are required for this change.

  • track ping status, ping message and ping timestamp at NodePeer level
  • add a utility track peer route healthcheck
  • add a network service to find peer
  • add an integration test for peers health check

How has this been tested?

  • Describe the tests that you ran to verify your changes.
  • Provide instructions so we can reproduce.
  • List any relevant details for your test configuration.

Checklist

shubham3121 avatar Apr 08 '24 10:04 shubham3121

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

TODO in this PR:

  • Integrate background_tasks in orchestra
  1. for run_peer_health_checks background task
  • What is the ping status of a peer if association request is submitted but not accepted?
  • What is the ping status if the association request is accepted?
  • If one peer node goes down, what is the ping status (may not be checked with a Python Node. Try starting a server with HTTP connection)
  • what is the ping status when a peer is deleted -> create remote client on that node peer -> check peer list -> peer not found
  1. Since we can get domain health status now with the new peers health check functionalities, we can just grab the online domains from the database and no longer need to check it like currently in DomainRegistry.online_domains using a ThreadPoolExecutor

khoaguin avatar May 02 '24 08:05 khoaguin

Great work @khoaguin and @kiendang !!! Left a few minor comments.

shubham3121 avatar May 06 '24 07:05 shubham3121