Comment 2 for bug 824797

Revision history for this message
John A Meinel (jameinel) wrote :

I have a branch which seems to add support for it. There are still bits that need to be worked on:

1) I set the default idle timeout to 300s (5 min). Which seems an ok start point.
2) It should be configurable, though.
3) I only timeout waiting for the start of a new RPC. I *think* that is reasonable. The main concern about faulty timeouts is initial push for a lot of ancestry. Sometimes it can take a while for us to work out what needs to be sent.
4) bug #819604 should be a good counterpoint, though. Which will allow clients to attempt to reconnect.
5) Currently my patch seems to work, however it causes a fair amount of headache in the test suite. If you set the timeout low you get timeouts while running (*very bad*), but if you set it high then you seem to get "hung threads" (bad). I have to check the 'close_server()' code to figure out why we're hanging. (If you do select.select([r], [], []) and the far side of r has been closed, would select hang forever?, maybe I need to pass it in the last list as well.)