On Friday 21 March 2008 15:52, Robert Hailey wrote:
>
> On Mar 20, 2008, at 2:57 PM, Matthew Toseland wrote:
>
> > On Thursday 20 March 2008 16:44, robert at freenetproject.org wrote:
> >> Author: robert
> >> Date: 2008-03-20 16:44:32 +0000 (Thu, 20 Mar 2008)
> >> New Revision: 18643
> >>
> >> Modified:
> >> trunk/freenet/src/freenet/node/RequestHandler.java
> >> Log:
> >> comments
> >>
> >>
> >> Modified: trunk/freenet/src/freenet/node/RequestHandler.java
> >> ===================================================================
> >> --- trunk/freenet/src/freenet/node/RequestHandler.java 2008-03-20
> >> 16:42:11
> > UTC (rev 18642)
> >> +++ trunk/freenet/src/freenet/node/RequestHandler.java 2008-03-20
> >> 16:44:32
> > UTC (rev 18643)
> >> @@ -266,6 +266,7 @@
> >> case RequestSender.INTERNAL_ERROR:
> >> // Locally generated.
> >> // Propagate back to source who needs to reduce
> >> send rate
> >> + ///@bug: we may not want to translate
> >> fatal timeouts into non-
> >> fatal
> > timeouts.
> >
> > Not sure I follow... This isn't usually caused by a timeout.
>
> Looks like it is to me (the TIMED_OUT case which is clipped off the
> top of the diff).
>
> From RequestSender:
> if(msg == null) {
> Logger.normal(this, "request fatal-timeout (null) after accept
> ("+gotMessages+" messages; last="+lastMessage+")");
> // Fatal timeout
> next.localRejectedOverload("FatalTimeout");
> forwardRejectedOverload();
> finish(TIMED_OUT, next, false);
> node.failureTable.onFinalFailure(key, next, htl,
> FailureTable.REJECT_TIME, source);
> return;
> }
>
> From RequestHandler:
> case RequestSender.GENERATED_REJECTED_OVERLOAD:
> case RequestSender.TIMED_OUT:
> case RequestSender.INTERNAL_ERROR:
> // Locally generated.
> // Propagate back to source who needs to reduce send rate
> ///@bug: we may not want to translate fatal timeouts into non-fatal
> timeouts.
> Message reject = DMT.createFNPRejectedOverload(uid, true);
> sendTerminal(reject);
> return;
>
> So.... TIMED_OUT (a fatal timeout) is (or can be) translated into a
> RejectedOverload (non-fatal). I guess it's not an issue with the
> 'responseDeadline' code?
It's still likely to be fatal, because the previous node's timeout will also
have expired. The problem with this is that each node on the chain will blame
the next one.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL:
<https://emu.freenetproject.org/pipermail/devl/attachments/20080321/6963aadf/attachment.pgp>