Author: robert
Date: 2008-01-11 19:35:35 +0000 (Fri, 11 Jan 2008)
New Revision: 17017
Modified:
trunk/freenet/src/freenet/node/RequestHandler.java
Log:
logging: note when request sender takes too long
Modified: trunk/freenet/src/freenet/node/RequestHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/RequestHandler.java 2008-01-11 19:16:25 UTC
(rev 17016)
+++ trunk/freenet/src/freenet/node/RequestHandler.java 2008-01-11 19:35:35 UTC
(rev 17017)
@@ -21,6 +21,7 @@
import freenet.keys.SSKBlock;
import freenet.support.Logger;
import freenet.support.SimpleFieldSet;
+import freenet.support.TimeUtil;
/**
* Handle an incoming request. Does not do the actual fetching; that
@@ -153,14 +154,17 @@
boolean sentRejectedOverload = false;
//If we cannot respond before this time, the 'source' node has
already fatally timed out (and we need not return packets which will not be
claimed)
- long responseDeadline = System.currentTimeMillis() +
RequestSender.FETCH_TIMEOUT + source.getProbableSendQueueTime();
+ long searchStartTime = System.currentTimeMillis();
+ long responseDeadline = searchStartTime +
RequestSender.FETCH_TIMEOUT + source.getProbableSendQueueTime();
short waitStatus = 0;
while(true) {
waitStatus = rs.waitUntilStatusChange(waitStatus);
+ long now = System.currentTimeMillis();
- if (System.currentTimeMillis() > responseDeadline) {
+ if (now > responseDeadline) {
+ Logger.error(this, "requestsender took too long
to respond to requestor ("+TimeUtil.formatTime((now - searchStartTime), 2,
true)+"/"+rs.getStatus()+")");
applyByteCounts();
return;
}