On Mon, Nov 17, 2003 at 02:28:13PM -0600, Edgar Friendly wrote:
> "Edward J. Huff" <[EMAIL PROTECTED]> writes:
> 
> > ... Now I see.  I only knew about QR's in the context of node
> > overload, not in their normal context, which occurs when the
> > key is found in the failure table or when (I guess) the node
> > can't find a route.  I've read only a small fraction of the code.
> > 
> > QueryRejected.java:
> > 
> >  * This message is sent by a node which cannot locate a piece of data.
> >  * If received by a node, it should either forward it back to whichever
> >  * node sent the request to it, or should send another request to find
> >  * the data.
> >
> This paragraph is confusing and poorly worded; a better way of saying
> what was intended is:
> 
> * This message is sent by a node that cannot continue the request for
> * a piece of data.  If recieved by a node, it should send another
> * request to find the data or (if it doesn't have anywhere else to
> * request from) QueryReject itself.

Unless the HTL reaches 0 from all the decrements, in which case it will
DNF. Hrrrrrm. Does this mean that we need to use the HTL value returned
from a QueryRejected after all?

Request comes into a node.
Node routes to 10 nodes, all of which QR.
The rest of the RT is backed off.
Node QR's.
Previous node sees the QR and only reduces HTL by 1.

We used to use the HTL value on the QR. I took it out because I didn't
see any reason for it..
>  
> > But, to return to the original subject..., there is an argument for
> > closing connections instead of QR-ing when load is high.  If a node
> > closes connections, it continues to accept requests from the
> > connections it has.  I argue that really, the node had too many
> > open connections to begin with, and probably it won't want to
> > open the connections again very soon.  Also, when the backlog
> > is cleared, the node can open connections instead of sitting
> > idle until the QR back-off timers expire.
> >
> Why close connections?  If a node wants to request data from you,
> it'll just open a new connection.  Backing off (or server-enforced
> rate limiting) is the only way to cut down the number of incoming
> requests (in the short term).  Keeping connections open costs almost
> nothing.
>  
> > Right now, my node has connections only to nodes which do
> > back-off.  It has 148 connections to 82 different nodes,
> > (counting some old builds which got blocked at the firewall
> > within 5 minutes of connecting) but apparently all of them
> > are backed-off because it is getting only about 300 queries
> > per hour.  It is completely idle, with no connections 
> > transferring.  If it had closed connections instead of
> > QR-ing, it would be able to re-open the connections now
> > and get more work.
> >
> > -- Ed Huff
> 
> You seem to think that closing connections will decrease the number of
> incoming requests.  It won't.  It's not a bad idea to make it work
> that way, but at the moment, it doesn't.  Nodes that want to route to
> you will just keep trying to re-open the connection (which is what the
> ConnectionOpener is for).
> 
> Thelema
> -- 
> E-mail: [EMAIL PROTECTED]                            Raabu and Piisu
> GPG 1024D/36352AAB fpr:756D F615 B4F3 BFFC 02C7  84B7 D8D7 6ECE 3635 2AAB
-- 
Matthew J Toseland - [EMAIL PROTECTED]
Freenet Project Official Codemonkey - http://freenetproject.org/
ICTHUS - Nothing is impossible. Our Boss says so.

Attachment: signature.asc
Description: Digital signature

_______________________________________________
Devl mailing list
[EMAIL PROTECTED]
http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/devl

Reply via email to