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

ipld(shares/getters): IPLD getter hangs while data is requesting for the second time #2915

Open
vgonkivs opened this issue Nov 8, 2023 · 3 comments
Labels
area:ipld IPLD plugin bug Something isn't working

Comments

@vgonkivs
Copy link
Member

vgonkivs commented Nov 8, 2023

IPLD can hang if the data is requested for the second time and it is not yet stored.

Steps to reproduce:

  1. Request shares by namespaces for the first time. The data has not been stored before, so we fall to the IPLD getter and request it through the bitswap;
  2. Request the same shares one more time. This time, we can expect to get the data from the store directly. If the data has not been stored yet, then we are falling to the IPLD getter and it hangs.

was found during running blob module test #2909

@distractedm1nd
Copy link
Collaborator

Investigating

@distractedm1nd
Copy link
Collaborator

Crossposting from #2914 :

Hmmm. The deeper issue here seems to be that IPLD is hanging on the second time (if we give store long enough to store, it gets from StoreGetter)

Our ideas here are:

Bitswap peers maybe have an anti-spam mechanism where the same block will not be served twice to the same peer, which is fine, but:
These blocks should be cached on the blockstore level and not actually rerequested from the network. This makes it seem like the caching mechanism from IPLD retrieval isn't actually working.

@distractedm1nd
Copy link
Collaborator

Can confirm that even when a full node is retrieving data over IPLD, Put is not being called on our blockstore, so nothing is even being inserted into the cache atm. Still unclear whether this is a swamp quirk or not

@renaynay renaynay added bug Something isn't working area:ipld IPLD plugin and removed needs:triage labels Nov 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:ipld IPLD plugin bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants