I made a commit, but the email didn't make it to the cvs thread (r16740), probably because of a question mark in the log. The diff follows in case it doesn't show up later.

--
Robert Hailey

Index: freenet/node/CHKInsertSender.java
===================================================================
--- freenet/node/CHKInsertSender.java   (revision 16739)
+++ freenet/node/CHKInsertSender.java   (revision 16740)
@@ -290,7 +290,20 @@
             // Send to next node

             try {
-                               next.sendSync(req, this);
+                               /*
+ When using sendSync(), this send can often timeout (it is the first request we are sending to this node). + -If sendSync blocks here (message queue is full, node down, etc.) it can take up to 10 minutes, + if this occurs at even two nodes in any given insert (at any point in the path), the entire insert chain
+                                 will fatally timeout.
+ -We cannot be informed if sendSync() does timeout. A message will be logged, but this thread will simply continue
+                                  to the waitFor() and spend another timeout 
period there.
+                                -The timeout on the waitFor() is 10 seconds 
(ACCEPTED_TIMEOUT).
+ -The interesting case is when this next node is temporarily busy, in which case we might skip a busy node if they + don't respond in ten seconds (ACCEPTED_TIMEOUT). Or, if the length of the send queue to them is greater than + ACCEPTED_TIMEOUT, using sendAsync() will skip them before they get the request. This would be a need for retuning
+                                  ACCEPTED_TIMEOUT.
+                                */
+                               next.sendAsync(req, null, 0, this);
                        } catch (NotConnectedException e1) {
                                if(logMINOR) Logger.minor(this, "Not connected to 
"+next);
                                continue;

_______________________________________________
Devl mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl

Reply via email to