Conversation
Chet and I both looked around this and were confused by the description of this variable, which is actually just the post-build node idle timeout.
There was a problem hiding this comment.
Pull request overview
Clarifies the documentation for DefaultNodeConnectionTimeout in CommunicationsUtilities to reduce confusion about what the timeout represents in the node infrastructure.
Changes:
- Updates the XML doc summary for
DefaultNodeConnectionTimeout. - Adds remarks explaining the tradeoff between node reuse and resource usage.
| /// Wait time between when a node goes idle and its self-termination. | ||
| /// </summary> | ||
| /// <remarks> |
There was a problem hiding this comment.
The updated XML docs describe this as an idle/self-termination timeout, but this value is also used as a general connection/handshake wait timeout (e.g., host-side wait in NodeProviderInProc and server-side wait for initial connection in NodePipeServer/NodeEndpointOutOfProcBase). Consider rewording to cover both usages (max time to establish/wait for a connection, which also effectively bounds how long an idle node waits for the next build before exiting), otherwise readers may be misled.
| /// Wait time between when a node goes idle and its self-termination. | |
| /// </summary> | |
| /// <remarks> | |
| /// Default maximum time (in milliseconds) to wait for a node connection/handshake and, | |
| /// once connected, the maximum time a node may remain idle before self-terminating. | |
| /// </summary> | |
| /// <remarks> | |
| /// This value bounds both how long the host or server will wait for a node to establish a | |
| /// connection/handshake and how long an idle node will wait for the next build before exiting. |
There was a problem hiding this comment.
This is good feedback but to me it looks like the other uses are flatly wrong and using 15 minute timeouts in those cases is bananas. Need to look deeper, so going back to draft here.
@baronfel and I both looked around this and were confused by the description of this variable, which is actually just the post-build node idle timeout.