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>

Reply via email to