On 6/18/06, David Sowder (Zothar) <freenet-devl at david.sowder.com> wrote:
> Florent Daigni?re (NextGen$) wrote:
> > * zothar at freenetproject.org <zothar at freenetproject.org> [2006-06-18 
> > 19:02:38]:
> >
> >
> >> Author: zothar
> >> Date: 2006-06-18 19:02:33 +0000 (Sun, 18 Jun 2006)
> >> New Revision: 9304
> >>
> >> Modified:
> >>    trunk/freenet/src/freenet/node/RequestSender.java
> >> Log:
> >> Mitigate "backoff hell" a bit by not routing to a peer if it's the only 
> >> one not backed off and we have a few backed off peers.
> >>
> >>
> >
> > That's what we call alchemy, isn't it ? :)
> >
> > Well, I do see the point of not sending our requests when we have only
> > one online peer (even if there is plausible deniability) but why the
> > "backoff throwsold" ? to allow nodes with less than 4 peers to be usable
> > ?
> >
> > I'm not sure I agree to the concept, maybe I'm missing the point though,
> > may you explain ? :)
> >
> When I got back to my node after being away from it for 24 hours
> Saturday night, it was in what I call "backoff hell".  I've seen
> "backoff hell" at least one other time.  It's when all of your connected
> peers are backed off and every time one of them comes out of backoff, it
> goes right back into back off very quickly.  I assume this is because my
> node is eager to send that node anything it has, no matter how misrouted
> it is.  I don't recall from last time, but I must admit that this time,
> the reason was usually timeouts rather than overloads.  You're right,
> the backoff threshold is so that nodes with fewer than 4 peers don't
> have this restriction.
>
> I agree that this is alchemy, but I figure it'll give a node more of a
> fighting chance of recovering from "backoff hell" and since that's the
> only time it'd apply, the impact otherwise should be nil.  Perhaps some
> of the SoC work this summer will make such alchemy unneeded.  However,
> just because it's alchemy doesn't mean it can't be useful.
> >> Modified: trunk/freenet/src/freenet/node/RequestSender.java
> >> ===================================================================
> >> --- trunk/freenet/src/freenet/node/RequestSender.java        2006-06-18 
> >> 17:35:22 UTC (rev 9303)
> >> +++ trunk/freenet/src/freenet/node/RequestSender.java        2006-06-18 
> >> 19:02:33 UTC (rev 9304)
> >> @@ -113,6 +113,13 @@
> >>                  return;
> >>              }
> >>
> >> +                    // Route starvation due to almost all backed off?
> >> +                    
> >> if(node.getPeerNodeStatusSize(Node.PEER_NODE_STATUS_CONNECTED) == 1 && 
> >> node.getPeerNodeStatusSize(Node.PEER_NODE_STATUS_ROUTING_BACKED_OFF) > 3) {
> >> +                // Don't send everything to one node, that may have just 
> >> come out of backoff, hopefully preventing backoff hell (the one emerging 
> >> from backoff gets pounded back into backoff)
> >> +                finish(ROUTE_NOT_FOUND, null);
> >> +                return;
> >> +                    }
> >> +
> >>              // Route it
> >>              PeerNode next;
> >>              double nextValue;
> >>
>
> _______________________________________________
> Devl mailing list
> Devl at freenetproject.org
> http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl
>

But it was decided long ago that the time of alchemy was over.

Reply via email to