-
Notifications
You must be signed in to change notification settings - Fork 490
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!: remove cleveldb and boltdb #2786
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm, added a few comments nothing major
key-value database. If you want maximal performance, it may be best to install | ||
the real C-implementation of LevelDB and compile CometBFT to use that using | ||
`make build COMETBFT_BUILD_OPTIONS=cleveldb`. See the [install | ||
RocksDB and compile CometBFT to use that using | ||
`make build COMETBFT_BUILD_OPTIONS=rocksdb`. See the [install |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this suggestion based on any evidence that RocksDB provides the maximal performance ? I understand in the past we suggested cleveldb
because of the C-Implementation
(not sure if that was also an accurate statement), but maybe we should re-word the maximal performance
to something like one of the best performance
or something like this. I don't think we have any benchmarks to support this statement (afaik we didn't test one against the other and we even included Pebble recently that might provide good performance too).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@melekes , @andynog , just seeing this. I wonder whether Andy is right and we might want to suggest people to use either rocksdb or pebble. Or we could run the benchmarks on rocksdb to be sure of this. We could also link to the storage report and report the fact that pebble does good compaction vs goleveldb.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jmalicevic what you're suggesting sounds good to me. The changes above to the documentation were more like a quick patch.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just saw that this text was actually removed with a subsequent PR. I can open a small issue to extend this with the one line saying there are multiple options and to look for these two as well for better performance. But its low priority now that we are not explicitly suggesting rocksdb.
@@ -80,46 +80,46 @@ git pull origin main | |||
make install | |||
``` | |||
|
|||
## Compile with CLevelDB support | |||
## Compile with RocksDB support |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
were these commands tested on both Ubuntu and MacOS ? Or just a rename ? I am assuming these new commands and instructions would work fine.
until we have settled on a single database - #1039. Note I still think RocksDB is faster even thought I don't have data to back it up. Anyway, I don't think we should "endorse" any database in the meantime. Refs #2786 (comment)
until we have settled on a single database - #1039. Note I still think RocksDB is faster even thought I don't have data to back it up. Anyway, I don't think we should "endorse" any database in the meantime. Refs #2786 (comment)
follow-up to #2786 --- #### PR checklist - [ ] ~~Tests written/updated~~ - [ ] ~~Changelog entry added in `.changelog` (we use [unclog](https://github.com/informalsystems/unclog) to manage our changelog)~~ - [x] Updated relevant documentation (`docs/` or `spec/`) and code comments - [x] Title follows the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) spec --------- Co-authored-by: Andy Nogueira <[email protected]>
cleveldb
andboltdb
were deprecated in v1.PR checklist
Tests written/updated.changelog
(we use unclog to manage our changelog)docs/
orspec/
) and code comments