Skip to content
This repository has been archived by the owner on Jun 26, 2023. It is now read-only.

support threshold based automatic sharding and unsharding of directories #88

Merged
merged 6 commits into from
Nov 16, 2021

Conversation

schomatis
Copy link
Contributor

Update UnixFS dependency which now handles HAMT transition internally:

  • Remove the deprecated UseHAMTSharding option.
  • Remove the addUnixFSChild intermediary function that was created only to handle HAMT transition. Instead we now add a child interacting with the UnixFS structure directly.

Closes #87.
Closes #86.

@hsanjuan
Copy link
Contributor

hsanjuan commented Jul 6, 2021

Hey, a breaking go-unixfs release was made but it fails when mixed with the current go-mfs release because this is not merged, so it would be good to merge and tag.

Copy link
Contributor

@hsanjuan hsanjuan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should be bumping go-unixfs version in go.mod?

@schomatis schomatis mentioned this pull request Aug 4, 2021
4 tasks
@b5
Copy link

b5 commented Sep 2, 2021

would love to see this addressed! Seeing undefined: "github.com/ipfs/go-unixfs/io".UseHAMTSharding on any build that touches MFS.

@aschmahmann
Copy link
Contributor

@b5 you should be able to just use the version of go-unixfs used by go-ipfs (v0.2.5) and things should be fine.

Note: go-unixfs v0.2.5 should not have been released, pre v2 go modules are as an ecosystem a bit confusing since things really need to upgrade together which means a release in a dependency shouldn't really happen until most of the important higher ups are ready to be released. When you don't you get issues like the one you're running into.

Meanwhile this is likely blocked on the automatic unixfs unsharding work completing ipfs/kubo#8106 which is underway.

@b5
Copy link

b5 commented Sep 2, 2021

@b5 you should be able to just use the version of go-unixfs used by go-ipfs (v0.2.5) and things should be fine.

Sadly that's my problem. I'm filing PRs into projects that use go-unixfs@v0.2.6, with a codebase that has go-ipfs@v0.9.1+ in it's dependencies.

Totally agreed this is just life in go.mod land. I'm just calling attention to this specific conflict 😄, and can work around it if needed

@iand
Copy link

iand commented Oct 22, 2021

Can this be updated and merged? (I volunteer to fix conflicts). As it stands go-mfs is unusable with any modern arrangement of ipfs libs. I don't see why fixing that should be blocked behind automatic unsharding.

go.mod Outdated Show resolved Hide resolved
@aschmahmann aschmahmann changed the title feat: update unixfs and ignore sharding support threshold based automatic sharding and unsharding of directories Nov 16, 2021
@aschmahmann aschmahmann merged commit e61420f into master Nov 16, 2021
@aschmahmann aschmahmann deleted the feat/update-unixfs-sharding branch November 16, 2021 00:07
@aschmahmann aschmahmann mentioned this pull request Dec 1, 2021
80 tasks
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Switch to sharding based on estimated directory size Extract sharding awareness to UnixFS
6 participants