y500 / libtorrent

Automatically exported from code.google.com/p/libtorrent
0 stars 0 forks source link

round_robin seed algo needs a minimum of 3 peers to work #676

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
A qbt user has conducted tests on seeding behavior. He found out that if there 
is one seeder and one leecher then the leech gets a bit of data and then 
nothing. When another leecher is added then both leechers start getting data 
from the seeder at full speed.

The first 2 peers use qbt and the 3rd peer KTorrent. The seeder used libtorrent 
0.16.x.

We suspect that this is due to the round_robin seed algorithm. Is this intended 
behavior? If yes, please mention it in the round_robin description.

Relevant forum links:
1. (link post): 
http://qbforums.shiki.hu/index.php/topic,2754.msg12644.html#msg12644
2. (forum thread): http://qbforums.shiki.hu/index.php/topic,2762.msg12698.html

Original issue reported on code.google.com by hammered...@gmail.com on 15 Sep 2014 at 6:32

GoogleCodeExporter commented 8 years ago
Any news on this?

Original comment by hammered...@gmail.com on 22 Sep 2014 at 8:01

GoogleCodeExporter commented 8 years ago
Sorry arvid, but I am poking again.

Original comment by hammered...@gmail.com on 2 Nov 2014 at 2:49

GoogleCodeExporter commented 8 years ago
so, I looked at this briefly. mostly going over the code and the unit tests 
that have 2 peers. I couldn't find anything obvious causing this, and I haven't 
had time to write a test specifically for this yet. The main difference from 
the tests I already have are probably that it needs to run for multiple unchoke 
intervals (which are 15 seconds each).

If you or the original reporter could provide logs (logging=verbose) from the 2 
peers where this fails, that would be really helpful.

Original comment by arvid.no...@gmail.com on 2 Nov 2014 at 7:25