On Jan 8, 2008, at 2:27 PM, Matthew Toseland wrote: > On Friday 04 January 2008 18:32, Robert Hailey wrote: >> >> Apparently until this revision 16886, (so long as any one node does >> not timeout) a node will take as long as necessary to exhaust >> routable >> peers. Even long after the original requestor has given up on that >> node. > > Is there any evidence that this happens in practice? Surely the HTL > should > prevent excessive searching in most cases?
I have reverted r16886, as it appears to be based on a misunderstand of how requests work against the topology of the network (r16980). Instead of canceling the search request, I have put similar logic in RequestHandler to simply not respond to very old requests (r16982), and not to hang onto the thread if no response is therefore necessary (r16983). r16983, (given the timeout) makes extra calls to rejectedOverload(); I imagine that at the timeout (every 2 minutes while the local request is running) they are benign, but I can code up an infinite wait (as before) if needed. I'm going to try and stay away from high level changes for a while, but at your suggestion I will look at the HTL code. -- Robert Hailey
