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

File transfers over 8GB will fail in data transfers, or less depending on data chunking strategy #4856

Closed
hannahhoward opened this issue Nov 13, 2020 · 0 comments · Fixed by filecoin-project/go-data-transfer#118 or #4874
Assignees
Labels
area/markets Area: Markets kind/bug Kind: Bug

Comments

@hannahhoward
Copy link
Contributor

Describe the bug

Any file transfer over 8GB, assuming a 1MB chunking strategy, will fail to complete data transfer on miner's side, even if data transfer completes.

If you are importing from an IPFS blockstore and using default 256KB chunking strategy, anything over 2GB will fail

To Reproduce

Steps to reproduce the behavior:

  1. Create a deal for a file over 8GB
  2. On miner side, even after data transfer completes, miner will stay stuck at StorageDealTransferring

Expected behavior

The data transfer completes

Version (run lotus version):

All lotus versions >= 1.0.0

Additional context

If you look in the miner logs, you find an error level message that reads contains Executing event planner failed: Slice value in field t.ReceivedCids was too long

What's happening here is as follows:

  • We are recording CIDs received on the miner in order to be able to resume a data transfer by passing the list of CIDs already traversed to go-graphsync in the case of a restart
  • We are recording them in the ChannelState, which is a CBOR encoded data structure in the data store where the CIDs received is an array data field, and the cbor encoding is done by cbor-gen
  • Cbor-gen has a hard limit of 8192 on arrays
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/markets Area: Markets kind/bug Kind: Bug
Projects
None yet
2 participants