-
Notifications
You must be signed in to change notification settings - Fork 100
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
feat: Über Migration (and Boxo rename) #220
Conversation
This commit was moved from ipfs/go-fetcher@99235cc
…sion add a fetcher constructor for the case where we already have a session This commit was moved from ipfs/go-fetcher@204874a
This commit was moved from ipfs/go-path@6f59923
This reverts commit b7dfe90. This commit was moved from ipfs/go-path@bda72a4
* creation of car from file / directory Co-authored-by: Daniel Martí <mvdan@mvdan.cc> Co-authored-by: Rod Vagg <rod@vagg.org> This commit was moved from ipld/go-car@9bd7416
This commit was moved from ipld/go-car@4a8d623
This commit was moved from ipld/go-car@5a583de
This commit was moved from ipfs/go-ipfs-exchange-interface@09692a6
This commit was moved from ipfs/go-ipfs-routing@be1ea98
This commit was moved from ipld/go-car@85f0751
* support extraction of unixfs content stored in car files This commit was moved from ipld/go-car@6d94b7b
This commit was moved from ipfs/go-ipfs-exchange-offline@6ef3e0a
This commit was moved from ipfs/go-blockservice@285f9bc
This commit was moved from ipfs/go-merkledag@bfaa766
This commit was moved from ipfs/go-fetcher@d2ffddc
This commit was moved from ipfs/go-path@19b77b2
This commit was moved from ipfs/go-ipfs-pinner@72f5e02
This commit was moved from ipfs/go-ipfs-provider@4aff05e
* Renamed UpgradeableDirectory to DynamicDirectory to indicate that we can switch between Basic and HAMT Directories * Transition between HAMT directory and Basic Directory based on the global sharding threshold * Unexported BasicDirectory.SwitchToSharding as an unnecessary exposure point until requested * NewDirectoryFromNode always returns a DynamicDirectory instead of an UpgradeableDirectory or HAMTDirectory * Added Swap and Take functions to HAMT Shards * Fix for the size estimation logic where we were not tracking that replacing an entry with a differently sized CID could trigger switching between being a Basic or HAMT directory * Use custom parallel DAG traversal to the EnumLinksAsync for HAMTs that is closer to DFS than BFS * Added lots of comments to the HAMT code * Exported LogTwo function to make it more accessible within the package Co-authored-by: Lucas Molas <schomatis@gmail.com> Co-authored-by: Adin Schmahmann <adin.schmahmann@gmail.com> This commit was moved from ipfs/go-unixfs@bd53b6a
This commit was moved from ipfs/go-ipfs-blockstore@60f8b66
This commit was moved from ipfs/go-unixfs@abdf700
…ies (#88) * feat: update go-unixfs and use built in automatic sharding and unsharding * chore: update deps Co-authored-by: Adin Schmahmann <adin.schmahmann@gmail.com> Co-authored-by: Gus Eggert <gus@gus.dev> This commit was moved from ipfs/go-mfs@e61420f
This commit was moved from ipfs/go-ipfs-provider@bb73e1b
This commit was moved from ipfs/go-ipfs-provider@56883e0
…-staticcheck Fix go vet and staticcheck This commit was moved from ipfs/go-ipfs-provider@49b7fe2
The blockstore reads the version of the given CAR payload to determine whether to generate an index for the given payload or not. When the payload represents a CARv1 and no index is specified, the backing reader is passed on for index generation. But the version is already read from the stream. Seek to the beginning of the backing reader before generating the index so that the index generation mechanism receives the complete CARv1. Fixes #265 This commit was moved from ipld/go-car@fa995b9
This is so that v0 and v1 have identical interfaces, which is required to avoid massive pain for consumers like estuary. Since we have already plumbed v0 all the way through, it's easiest to just remove the probably-unnecessary context from HashOnRead. This commit was moved from ipfs/go-ipfs-blockstore@fbe708e
This commit was moved from ipfs/go-filestore@9d7d5b4
This commit was moved from ipfs/go-namesys@aaf9aa8
Add a writing/creation API in the car v2 package. Allows creation of file and streaming car files in a selector order. This commit was moved from ipld/go-car@c35591a
Codecov Report
@@ Coverage Diff @@
## main #220 +/- ##
===========================================
+ Coverage 30.09% 48.18% +18.08%
===========================================
Files 101 267 +166
Lines 11319 32583 +21264
===========================================
+ Hits 3407 15699 +12292
- Misses 7545 15224 +7679
- Partials 367 1660 +1293
|
This needs to be tested on Kubo and Lotus before merging right? |
@guseggert this is being tested in Kubo. |
Per verbal maintainer conversation on 2023-03-23, this will be vetted on Lotus as well before merge. |
5a2677f
to
a4f8611
Compare
Let me know when this is ready for another review. We need to see what it looks like for Kubo and Lotus to upgrade, so bubbling latest changes up to the Kubo PR, and opening a PR w/ Lotus (or in a forked repo) seems like a prereq. |
ed081e5
to
cdaa7b6
Compare
This works in Lotus and Kubo (CI failures are flaky tests and docs gen), builds and non broken tests:
Imo this is RFM @guseggert |
Include rename from: github.com/ipfs/go-libipfs => github.com/ipfs/boxo This migration was reverted: ./blocks => github.com/ipfs/go-block-format Migrated repos: - github.com/ipfs/interface-go-ipfs-core => ./coreiface - github.com/ipfs/go-pinning-service-http-client => ./pinning/remote/client - github.com/ipfs/go-path => ./path - github.com/ipfs/go-namesys => ./namesys - github.com/ipfs/go-mfs => ./mfs - github.com/ipfs/go-ipfs-provider => ./provider - github.com/ipfs/go-ipfs-pinner => ./pinning/pinner - github.com/ipfs/go-ipfs-keystore => ./keystore - github.com/ipfs/go-filestore => ./filestore - github.com/ipfs/go-ipns => ./ipns - github.com/ipfs/go-blockservice => ./blockservice - github.com/ipfs/go-ipfs-chunker => ./chunker - github.com/ipfs/go-fetcher => ./fetcher - github.com/ipfs/go-ipfs-blockstore => ./blockstore - github.com/ipfs/go-ipfs-posinfo => ./filestore/posinfo - github.com/ipfs/go-ipfs-util => ./util - github.com/ipfs/go-ipfs-ds-help => ./datastore/dshelp - github.com/ipfs/go-verifcid => ./verifcid - github.com/ipfs/go-ipfs-exchange-offline => ./exchange/offline - github.com/ipfs/go-ipfs-routing => ./routing - github.com/ipfs/go-ipfs-exchange-interface => ./exchange - github.com/ipfs/go-unixfs => ./ipld/unixfs - github.com/ipfs/go-merkledag => ./ipld/merkledag - github.com/ipld/go-car => ./ipld/car Fixes #215 Updates #202
Removed |
I spot-checked w/ ipfs-lite (required for ipfs-cluster) and tests fail with a runtime error in go-libp2p-kad-dht due to go-libp2p-kad-dht not being updated yet, the error is from this line: https://github.com/libp2p/go-libp2p-kad-dht/blob/3f53669165720238fdd7a5bb71d60966c0785ef7/internal/config/config.go#L158 So we should probably merge libp2p/go-libp2p-kad-dht#832 first and release it. I think it's already covered by the migration tool because the issue occurs when go-ipns is in your dependency graph which is already covered by the
|
Okay I worked through ipfs-cluster and it builds and CI passes for it too, we're going to need to update github.com/libp2p/go-libp2p-kad-dht and github.com/ipfs/go-ds-crdt in order to unblock ipfs-cluster, so we'll do that after the boxo release. |
Thank you @guseggert , I really appreciate that you worried about ipfs-cluster in advance ❤️ Send me the PRs, or just let me know when we can upgrade. |
@Jorropo Kudos to you for preserving the history of migrated repos! Thank you! |
@Kubuxu ❤️ you can thx @guseggert too. |
feat: Über Migration (and Boxo rename)
Include rename from:
github.com/ipfs/go-libipfs => github.com/ipfs/boxo
This migration was reverted:
./blocks => github.com/ipfs/go-block-format
Migrated repos:
Fixes #215
Updates #202