-
Notifications
You must be signed in to change notification settings - Fork 796
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
Database backend configuration #4828
base: develop
Are you sure you want to change the base?
Conversation
I agree with doing the backend configuration this way, but it should not throw an error if legacy The only case where we should throw an error is if there is a mismatch between |
The way we currently handle configuration errors are by logging an error an exit the application, so this is not really any different, imo. I only see two solutions to this:
Option 2 is definitely a possibility. We already have the |
d019754
to
56cdf39
Compare
In the current implementation, the database backend is determined by the setting of
RocksDb.Enable
config setting which is not very intuitive.This PR replaces that setting with a new
database_backend
setting. It can be set to eitherlmdb
orrocksdb
. If not set, it defaults tolmdb
.To make it easier for node operators that are currently using RocksDb, the node will notify the operator with an error message if the config file has the old
RocksDb.Enable
set to true anddatabase_backend
set to lmdb (for example when using an old config file that does not have the new database_backend property). The error message can be removed in future versions when operators have migrated to use the newdatabase_backend
typeThis PR also makes it easier to add more backends in the future.