gaturchenko opened a new pull request, #2587:
URL: https://github.com/apache/systemds/pull/2587

   With any delay on the worker's interface, currently every federated test 
fails before it starts, while the worker is listening the whole time. 
`FederatedWorkerUtils.tryConnect` allocated 25ms per connect attempt, but a TCP 
handshake needs two traversals of the link which are ~100ms under the delay 
above. Every attempt expired with a `SocketTimeoutException`, which is an 
`IOException` and therefore indistinguishable from a closed port, so the probe 
never succeeded.
   
   The following changes were implemented:
   
   - Per-attempt connect budget increased from 25ms to 2s. A closed port is 
refused by the kernel immediately, so it only applies once a handshake is in 
progress. Additionally, 2s covers one lost SYN, retransmitted after ~1s
   - Each attempt is capped by the time left until the overall deadline 
(`attemptTimeout`), so a slow connect cannot exceed it. The returned value of 0 
implies the attempt was never made
   - The `waitForWorkers` now rechecks the deadline per port, which can now 
cost up to 2s each
   - Six new tests are added verifying the change


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to