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

Badger 2 #6818

Open
Stebalien opened this issue Jan 8, 2020 · 4 comments
Open

Badger 2 #6818

Stebalien opened this issue Jan 8, 2020 · 4 comments
Labels
kind/enhancement A net-new feature or improvement to an existing feature
Milestone

Comments

@Stebalien
Copy link
Member

Stebalien commented Jan 8, 2020

Badger has released a new version that's format incompatible with the previous version. We have several options:

  1. Ignore it. Not a good solution as version 1 isn't maintained.
  2. Switch to it directly.
    • We'd need a migration. Badger 1 is experimental but enough users are using it that we can't just say "yolo, re-create your repos".
    • We'd go from a almost stable datastore right back to "we're not sure how stable this is".
  3. Add an option to the go-ds-badger datastore to specify the underlying badger version.
    • Pro: this is pretty simple to implement. We should be able to import both versions of badger into go-ipfs.
    • Con: no way for users to opt out of the old badger if they want to decrease their binary size.
  4. Treat it like a new datastore:
    a. **Create a new go-ds-badger2 repo.&&
    b. Release a v1 of go-ds-badger for badger 1, then release a v2 for badger 2. This is the "go mod" way to do this however, the go-datastore interfaces may not be stable enough to do this.

I'm currently leaning towards option 3.

We have gone with 4.a (thanks @Kubuxu!).

@Stebalien Stebalien added the kind/enhancement A net-new feature or improvement to an existing feature label Jan 8, 2020
@Stebalien
Copy link
Member Author

@Kubuxu has implemented 4.a: https://github.com/ipfs/go-ds-badger2.

@Stebalien
Copy link
Member Author

@aschmahmann when you get a moment, could you add a new datastore type for badger2?

@aschmahmann
Copy link
Contributor

@Stebalien would you like me to include modifying https://github.com/ipfs/ipfs-ds-convert to handle Badger2?

@Stebalien
Copy link
Member Author

Stebalien commented Jan 13, 2020 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/enhancement A net-new feature or improvement to an existing feature
Projects
Status: 🥞 Todo
Go IPFS Roadmap
  
Old Backlog (Clean Up)
Development

No branches or pull requests

3 participants