-
Notifications
You must be signed in to change notification settings - Fork 482
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
blob get fails and locks up SDK #2070
Comments
Currently `lbrynet blob get <hash>` does not work to download single blobs which are not already present in the system. The function locks up and never returns. It only works for blobs that are in the `blobfiles` directory already. This bug is reported in lbryio/lbry-sdk, issue lbryio#2070. Maybe this script can be investigated, and certain parts can be added to `lbry.extras.daemon.daemon.jsonrpc_blob_get` in order to solve the previous issue, and finally download single blobs from the network (peers or reflector servers).
Currently `lbrynet blob get <hash>` does not work to download single blobs which are not already present in the system. The function locks up and never returns. It only works for blobs that are in the `blobfiles` directory already. This bug is reported in lbryio/lbry-sdk, issue lbryio#2070. Maybe this script can be investigated, and certain parts can be added to `lbry.extras.daemon.daemon.jsonrpc_blob_get` in order to solve the previous issue, and finally download single blobs from the network (peers or reflector servers).
Currently `lbrynet blob get <hash>` does not work to download single blobs which are not already present in the system. The function locks up and never returns. It only works for blobs that are in the `blobfiles` directory already. This bug is reported in lbryio/lbry-sdk, issue lbryio#2070. Maybe this script can be investigated, and certain parts can be added to `lbry.extras.daemon.daemon.jsonrpc_blob_get` in order to solve the previous issue, and finally download single blobs from the network (peers or reflector servers).
This bug is still not solved. I only added a note in #3354, so I can investigate further what is causing this error. |
Hi! I just (forked) cloned lbry-sdk commit be544d6 and started locally in debug mode. When I try to download something (eg using So, @lyoshenka I would kindly suggest opening the bug again. @belikor are you actively working on this bug now? I will start a bit of investigation on my own, but please stop me if you found a solution/are close/etc. |
I think I got it but the problem is a bit trickier. Found the actual cause (One has to load some default peers into the DHT node before starting the actual blob download) but the root cause is bigger. Some larger code shifting must be performed, that is a bit beyond my knowledge about lbry-sdk. There are two paths towards PR #3368 . I would recommend NOT to be accepted as is but suggest some refactoring to proper prime the node for download both from StreamDownloader and other "random" places (like downloader.py.download_blob()) After all, the know how is in the config object that is available. Maybe a static method in the Node class? (There are some processing needed from Config.fixed_peers to KademliaPeer objects) |
Tentative fixing. The node is primed with some fixed peers before triggering the blob download.
I am not working on this at the moment, so feel free to propose your own solution. I noticed that the script located in |
corrected bug [lbryio#2070] where blob_get RPC timed out.
Both stream.downloader and blob_exchange.downloader paths are adding the fixed_peers list to the DHT node. Tested jsonrpc_blob_get daemon call.
Both stream.downloader and blob_exchange.downloader paths are adding the fixed_peers list to the DHT node. Tested jsonrpc_blob_get daemon call.
Both stream.downloader and blob_exchange.downloader paths are adding the fixed_peers list to the DHT node. Tested jsonrpc_blob_get daemon call.
Both stream.downloader and blob_exchange.downloader paths are adding the fixed_peers list to the DHT node. Tested jsonrpc_blob_get daemon call. Bug [lbryio#2070] where blob_get RPC timed out. Both stream.downloader and blob_exchange.downloader paths are adding the fixed_peers list to the DHT node. Tested jsonrpc_blob_get daemon call.
Both stream.downloader and blob_exchange.downloader paths are adding the fixed_peers list to the DHT node. Tested jsonrpc_blob_get daemon call. Bug [#2070] where blob_get RPC timed out. Both stream.downloader and blob_exchange.downloader paths are adding the fixed_peers list to the DHT node. Tested jsonrpc_blob_get daemon call.
Both stream.downloader and blob_exchange.downloader paths are adding the fixed_peers list to the DHT node. Tested jsonrpc_blob_get daemon call. Bug [#2070] where blob_get RPC timed out. Both stream.downloader and blob_exchange.downloader paths are adding the fixed_peers list to the DHT node. Tested jsonrpc_blob_get daemon call.
The Issue
While this is running, the sdk fails to shutdown on first attempt.
System Configuration
Anything Else
Screenshots
Internal Use
Acceptance Criteria
Definition of Done
The text was updated successfully, but these errors were encountered: