Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[CLOSED] Retry logic for missing requested pieces #101

Closed
feross opened this issue Sep 21, 2014 · 3 comments
Closed

[CLOSED] Retry logic for missing requested pieces #101

feross opened this issue Sep 21, 2014 · 3 comments

Comments

@feross
Copy link
Member

@feross feross commented Sep 21, 2014

Issue by fisch0920
Friday May 09, 2014 at 22:54 GMT
Originally opened as https://github.com/feross/bittorrent-client/issues/5


Messing around with small torrents, about 90% of the time the torrents download successfully and the client cleanly exits, but the rest of the time a piece or a few pieces are missing that were requested but never resolved (maybe because of the external server; maybe because of something we're doing that's only affecting a small percent of BT clients). When in this stalled state, the client keeps connecting to new peers, but no progress is ever made on finishing the torrent.

Here's an example log showing the bug in action. Pieces 3 and 5 are both requested but never responded to. Methinks the client/swarm needs better retry logic for missing pieces.

@feross

This comment has been minimized.

Copy link
Member Author

@feross feross commented Sep 21, 2014

Comment by feross
Monday May 12, 2014 at 08:01 GMT


Yeah, I think we just need to add a handler on the 'timeout' wire event and/or come up with a more aggressive strategy for requesting pieces.

@feross

This comment has been minimized.

Copy link
Member Author

@feross feross commented Sep 21, 2014

Comment by feross
Sunday May 18, 2014 at 07:30 GMT


Pretty sure this was fixed in #10. When a timeout happens, bittorrent-protocol should call the request callback with an error and then self.storage.cancelBlock gets called.

Let me know if I'm mistaken and I'll re-open.

@feross

This comment has been minimized.

Copy link
Member Author

@feross feross commented Sep 21, 2014

Comment by fisch0920
Sunday May 18, 2014 at 09:21 GMT


Yep; this should be fixed now.

@lock lock bot locked as resolved and limited conversation to collaborators May 7, 2018
This issue was closed.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
1 participant
You can’t perform that action at this time.