Repository navigation
Unit tests federated controller + fixes - #1227
Conversation
|
Regarding known issue not fixed #1: how would you skip the ClientConnected message? In FL for example, it's currently used to let the server know how many contributions it should wait for and send the clients the base model |
…t a connection message
e51de03 to
979da3f
Compare
|
New progress on the PR:
|
…-federated-controller
JulienVig
left a comment
There was a problem hiding this comment.
Thanks for the great work! I left mostly superficial comments and a bit of refactoring but there are two points I would like to discuss:
- What should the server answer to a client that sent a future contribution?
- Sending the model weights every time we receive a Client Connected sounds a bit risky regarding DDoS attacks, I think we should implement a counter
…ons from the federated specs
…stead of private functions
91e94d2 to
e4cc7e9
Compare
…oid waiting after reconnection
New state
Tests
Notes
|
Description of the mechanism to make a webapp test with a scripted serverCypress can intercept HTTP requests by calling In order to make a test that relies on websocket connections of the server (such as
How the scripted run works
The regular e2e tests are unchanged. They keep |
JulienVig
left a comment
There was a problem hiding this comment.
Thanks for the great work, only nitpicking comments about names and documentation. I will create a follow up PR to yours to address a couple things that I realized when reviewing this PR. I'll let you know exactly what it's adressing so that we don't fix the same things in your next branch
This PR involves:
Unit tests:
implemented at: server/tests/unit/federated_controller.spec.ts
18 tests in three groups: join handshake (3), aggregation (8, one commented out - see know issue), leaving and reset (7)
Controller discovered bugs:
Aggregator bugs:
Known issue but not fixed:
Fixes #1220, fixes #1221, fixes #1222