On Sun, Dec 30, 2001 at 05:47:04PM -0600, Edgar Friendly wrote:
<> 
> The problem is that maxNodeConnections is set to 30 and maximumthreads
> is set to 120.  Allowing for 10 miscellaneous threads for things like
> encryption and the store and stuff like that, a node that has maxed
> out its incoming connections can have 80 outgoing connections.  This
> is where the problem comes from.  Having 80 outgoing connections and
> 30 incoming ones lets nodes have many more outgoing connections than
> incoming.  

Actually, Outgoing connections do not use pooled threads at all, Gianni
disabled this due to some argument about all threads getting stuck in a
TCP timeout (see OCM L139).

<> 
> To fix this problem, I propose two things:
> (1) default maxNodeConnections to 70
> (2) subtract maxNodeConnections from maximumThreads on transient nodes.

I don't think this will solve the problem - the network is not
completely evenly distributed, and you will end up with important nodes
being locked up all the time anyways. The simple answer is to have nodes
close existing connections when they have too many to accept any more -
but because we at the same time we do want to block incoming connections
when nodes are swamped the algorithm for doing this has been hard to pin
down.

It might be interesting to see what results people running nodes see
when grepping the log for:

Stopped .* connections; effect may not be instant.

> The reason (2) is there is to fix the problem that transient nodes
> will still be able to make 110 outgoing connections (because there's
> no incoming connections to take up threads).  With (2), transient
> nodes will only be able to make 40 outgoing connections by default,
> which is probably plenty.

Nothing says a transient node can't have any incoming connections.

<>
-- 

Oskar Sandberg
oskar at freenetproject.org

_______________________________________________
Devl mailing list
Devl at freenetproject.org
http://lists.freenetproject.org/mailman/listinfo/devl

Reply via email to