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

Automatic database backend #4754

Open
wants to merge 8 commits into
base: develop
Choose a base branch
from

Conversation

RickiNano
Copy link
Contributor

@RickiNano RickiNano commented Oct 15, 2024

Switching database backend between LMDB and RocksDb is currently done by setting RocksDb.enabled to true or false in the config.

This PR removes that setting and adds a new Database_backend config setting.
Database_backend can be set to one of the following:

  • lmdb
  • rocksdb
  • auto

The first two will force the use of the specific backend.
When using auto mode the node will look for an existing ledger and use this. If no ledger is found it will initialize a new RocksDb LMDB ledger. If multiple ledgers are found it will display a warning message and use the RocksDb ledger.
The main purpose is to make new node operators use RocksDb but without forcing existing LMDB users to make changes.
In future node versions (V29?) we can show messages to LMDB users that encourage them to update to RocksDb and instructions on how to do this.
Even later versions (V30?) could halt the node initialization if LMDB is used and display instructions on updating. If they insist on using LMDB they can set Database_backend to lmdb

@gr0vity-dev-bot
Copy link

Test Results for Commit 824922e

Pull Request 4754: Results
Overall Status:

Test Case Results

  • 5n4pr_conf_10k_bintree: PASS (Duration: 112s)
  • 5n4pr_conf_10k_change: PASS (Duration: 216s)
  • 5n4pr_conf_change_dependant: PASS (Duration: 143s)
  • 5n4pr_conf_change_independant: PASS (Duration: 139s)
  • 5n4pr_conf_send_dependant: PASS (Duration: 144s)
  • 5n4pr_conf_send_independant: PASS (Duration: 127s)
  • 5n4pr_rocks_10k_bintree: PASS (Duration: 118s)
  • 5n4pr_rocks_10k_change: PASS (Duration: 239s)

Last updated: 2024-10-17 18:57:16 UTC

@qwahzi qwahzi added documentation This item indicates the need for or supplies updated or expanded documentation database Relates to lmdb or rocksdb labels Oct 22, 2024
@qwahzi qwahzi added this to the V28 milestone Oct 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
database Relates to lmdb or rocksdb documentation This item indicates the need for or supplies updated or expanded documentation
Projects
Status: In Progress / V28.0
Development

Successfully merging this pull request may close these issues.

3 participants