[Libtorrent-devel] Bans and Kicks because of failure
bestattung at gmail.com
Mon Dec 22 15:26:17 UTC 2008
a) rtorrent keeps to try connecting to already banned peer when peers
count is lower than peers wanted. As a result outgoing sessions which
looks as C=L and Failed=64 are established...
b) currently rtorrent can't isolate the source of failure. If one
chunk had error, then amost all peers which sent any pieces to that
chunk will get failed count, and at the same time they are all kicked
unconditionally. I'm very sicked with this kicks.
1) when the chunk error found, the download itself is far ahead and
other chunks are already well polluted (currently there're no rewinds
of them, right?). Moreover the kicked peers are allowed to reconnect
immediately and will happily continue to pollute. So it's too late to
kick poisonous peers,
2) as the failure count is given to any "suspicious" peers, rtorrent
kicks healthy peers altogether. They may be come back, but its timing
is not certain; actually, bad peers tends to fastly reconnect than
good peers (bad data often comes from bad implementation). As a
result, kicking tends to even more pollution rate.
So I think if there's no other reason than preventing further
pollution (which actually not achieved), kicking should be stopped for
now, until more reliable tracking of error source is implemented.
More information about the Libtorrent-devel