-
-
Notifications
You must be signed in to change notification settings - Fork 3k
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
ipfs get
doesn't automatically restart the download of a CID
#7301
Comments
maybe similar/dupe of #7211 ? |
How long is the download stuck? Is it possible to dial I'm wondering if |
I don't remember exactly how much, but I think it was for a long time, like 10/20 minutes maybe. I can give it another shot of course.
Which command should I use for that?
I remember I was able to get it work again by stopping the command (ctrl+c) and running it again.
Which command should I use for that? |
I was trying to determine if your node was dialable. However, if stopping and re-starting the command fixes the problem, it probably is dialable and this isn't the problem.
That points to an issue in bitswap itself. Could you run: On
And the following on
That will tell me if:
|
i am not the original poster but i'm also hit by this. a little bit different situation - for me node_1 is on flaky wifi connection but the outcome is the same... node_0: QmYLhBZsWL2MQuNXFfn6Wr5snTTq2ys121nQ9FQoZnMLYa on node_1:
on node_0:
sometimes i see this on node_0:
...for me the situation is so bad that i have been unable to get anything from "bitswap wantlist -p" on node_0 even after restarting "ipfs get" and even restarting "ipfs daemon" on node_1 :-( |
also:
|
is there a way to force a "wantlist resend" on node_1 (to node_0)? |
We send a full wantlist every 30s. However, we don't send every wantlist to every peer, only to peers that we think have the content. But when the download stalls, we should broadcast to all connected peers so something fishy is going on here.
That can happen when sending/receiving blocks. Could you try the new RC ( @dirkmc thoughts? |
same behaviour with 0.6.0-rc1 (compiled from git). -> i can see some streams on both nodes but the wantlist does not seem to be getting transferred. :-( |
also, this may be somehow connected to a "provide" feature/bug - currently on node_1's wantlist: QmVQ9tTPJeG2uWgjky4UWt4uubqRJeUpKGCG3qkYdM5BUU node_0:
...so the block is there. but: on both node_0 and node_1:
after almost two minutes. so it's almost like node_0 is not properly announcing its data and combined with "we don't send every wantlist to every peer, only to peers that we think have the content" this may lead to this download-being-stuck situation. |
after a forcefull:
on node_0 i now correctly see:
on both node_0 and node_1 but even-thou there's still connection between the nodes, QmVQ9tTPJeG2uWgjky4UWt4uubqRJeUpKGCG3qkYdM5BUU still stays in node_1's wantlist and not appearing on node_0's wantlist listing from node_1. :-( ...even after running the findprovs. i'd expect that manually finding the provider on node_1 (which returns node_0 and considering we have connection to that node) would immediatelly solve the situation. |
Sorry, we don't send the wantlist to all peers until we timeout. Then, we broadcast to all peers. That's why this is really strange. |
is there anything i can do to further investigate the issue? |
@rpodgorny & @vrde thanks for taking the time to follow up on this issue, it really helps us a lot to receive these bug reports. I've been trying to reproduce locally with some unit tests inside the go-bitswap project but I haven't been able to so far. It may help understand where the problem is if you output some debug logging while performing the To output debug level logging in the daemon window for a particular sub-system run the The subsystems that may output useful information:
|
@rpodgorny wrote:
I don't think so. 7211 is more about the loss of DHT functionality after a disconnect, where it isn't properly restored/detected. I'm currently checking it for the master, and it seems to be gone. :) That's why I haven't updated the ticket anymore for some time. |
Version information:
Description:
ipfs get
gets stuck if the other peer reconnects to the network.In this example
node_0
is my laptop (behind NAT),node_1
is my VPS with a public ip.node_0
: add a file and get theCID
.node_1
: runipfs get <CID>
.node_0
: internet goes down.node_0
: internet goes up again.node_1
download is now stuck.Note that
node_0
is the only one that can serveCID
.The text was updated successfully, but these errors were encountered: