Hi, some clients seem to have bugs in the queueing code and forget requests made to them. In particular I see this with a BitComet client in the Transfer list view: 452 [P: 2 F: 0]KKKKKKKKKKKKKKKKkkkkkkkkkKKKKKKKKKKKKKKKKKKKKKKKKKkkkkkKKKKKKK 496 [P: 2 F: 0]KKKKKkkkkKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK 503 [P: 2 F: 0]KKKKKkkkkKKKKKKKKKKKKKKKKKKKKKKkkkkkkkkKKKKKKKKKKKKKKKKKKKKKKK 508 [P: 2 F: 0]KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK 645 [P: 2 F: 0]KKkkkkkkkkkkkkkkkKKKKKKKKKKKKKKKKKKKKKKKKkkkkkkKKKKKKKKKKKKKKK The client is happily uploading at 20-50K/s to me but every now and then it jumps a few chunks as you can see by the "k"s. This leaves those blocks incomplete while it starts on more and more new blocks. Rtorrent should notice that requests aren't replied to in the order queued up and re-request the left out chunks. MfG Goswin
package rtorrent tags 384949 upstream thanks Hi, I'm letting know the upstream about this issue. Jaris please see [1] for further information about the problem. Thanks and Cheers! [1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=384949 -- ~ghostbar @ linux/debian 'unstable' on i686 - Linux Counter# 382503 http://ghostbar.ath.cx/ - irc.freenode.net #talug #velug #debian-es http://debianvenezuela.org.ve - irc.debian.org #debian-es #debian-ve San Cristobal - Venezuela. TALUG -- http://linuxtachira.org CHASLUG -- http://chaslug.org.ve - irc.unplug.org.ve #chaslug Fingerprint = 3E7D 4267 AFD5 2407 2A37 20AC 38A0 AD5B CACA B118
This should be fixed in the latest release, but I didn`t test it very much. Rakshasa Furu-Furu-Furu Moon!
jaris@student.matnat.uio.no escribió: Hi, are you having this problem yet? upstreams have sent an email telling this is probably fixed in the last release (0.6.2) Thanks and Cheers!!
jaris@student.matnat.uio.no escribió: Hi, are you having this problem yet? upstreams have sent an email telling this is probably fixed in the last release (0.6.2) Thanks and Cheers!!
Jose Luis Rivas Contreras <ghostbar38@gmail.com> writes:
I still see the problem but not rtorrent stalling on it
currently. Could just be the torrent.
What was fixed? The forgetting or the stalling part?
MfG
Goswin
Goswin von Brederlow escribió: I don't know wich part exactly, I think both cause he says that this probably should be fixed by last version. Have you seen any of this in rtorrent? Do you think is problem of the torrent a not of the app? Thanks and Cheers!!
Jose Luis Rivas Contreras <ghostbar38@gmail.com> writes:
I now think it is a combination of things:
1. clients sometimes forget requests, they skip ahead.
2. rtorrent tries to reget those holes after a while (which seems to
work much better now)
3. super-seeder hide chunks they have served
If you combine those 3 it seem that rtorrent looses a source for the
chunk with the hole and if there aren't any other sources the block
will remain incomplete and stall the download till the superseeder
resets itself. At least that is what it looks like now.
I'm not sure what to do about this. It isn't really a bug in rtorrent
but we can't fix every other client out there.
Rtorrent could better remember that some client did have that chunk
and re-request it even if that client now says it isn't available
anymore. I.e. ignore the super-seeder hack. Unless the super-seeder
will NAK such requests.
MfG
Goswin
package rtorrent tags 384949 confirmed severity 384949 wishlist thanks Goswin von Brederlow escribió: [...] Ok, so since this isn't a problem of rtorrent, but you add a request for feature to rtorrent I'm changing this to severity wishlist. Plus, I'm sending this to upstreams. Thanks for your report! Cheers!!
That's too much data to keep around, so it won't be implemented. It might be an idea to add a limit on request pipe-line size on a per-client type basis, so I added a ticket (#484) for that. The super-seeder can't really hide chunks, so it must be a problem of the super-seeder restarting/being reconnected. Anyway, it would have to be a bad super-seeder implementation, not to mention super-seeding has been superseded by Fast Extension so the incentive isn't really there to use resources to fix this. Rakshasa
jaris@student.matnat.uio.no writes:
Too much data?
You usualy have 5-20 chunks active and about as many clients. In the
problem cases as little as one for the chunk.
The "transfere list" still shows the skiped fragments for a while
after the skip while the "peer list" shows a 0 queue, so you seem to
already remember it somewhere. You also remember what fragment of each
chunk was downloaded from what peer. Given that the skips are usualy
small compared to the number of fragments in a chunk (say 5 in 200)
that doesn't seem like much data.
Now, instead of just forgetting the skipped requests they could be
rerequested from the same client while ignoring the chunk availability
of that client. I think that could already do the trick.
What I see is that I have clients in the "peer list" with 100% done
status but the "chunks seen" display shows gaps in the torrent with 0
availability. I'm assuming those are super-seeders, right?
MfG
Goswin