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

Find A Suitable LevelDB Fork That Is Maintained #10

Open
bonedaddy opened this issue May 9, 2020 · 3 comments
Open

Find A Suitable LevelDB Fork That Is Maintained #10

bonedaddy opened this issue May 9, 2020 · 3 comments

Comments

@bonedaddy
Copy link
Contributor

bonedaddy commented May 9, 2020

syndtr/goleveldb doesn't appear to be maintained anymore. There's a compaction timer leak that was fixed in ucwong/goleveldb, and there appears to be a variety of PRs opened in the syndtr/goleveldb repo that provide some useful optimizations.

Really the decision is what fork do we use? Should we use our own fork that we can merge improvements into?

LevelDB is the key-value store used by the reference counter, so we need to make sure that any fork we switch to doesn't introduce any unwanted side effects, or break compatibility. I think there's a case to be made for us forking goleveldb, and maintaining it ourselves since we use it so heavily, however I would rather to keep our forked repositories as minimal as possible unless there's specific cases to be made for maintaining our own, which this somewhat seems to have.

@xiegeo thoughts?

@xiegeo
Copy link
Contributor

xiegeo commented May 9, 2020

I prefer to use other people's work as much as possible. We should use ucwong's fork. If our needs deviate, we can always switch to our own fork.

Checking on the diffs, the fork should be fully compatible, and it's easy to guaranty with go-datastores' test-suit. ucwong is also a long time active developer on Github.

@bonedaddy
Copy link
Contributor Author

Yea ucwong's fork sounds like the best option

@xiegeo
Copy link
Contributor

xiegeo commented Jul 31, 2020

@bonedaddy I think we can close this issue for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants