Dont exit on backend misconfiguration

This commit is contained in:
RickiNano 2025-01-21 21:18:59 +01:00
commit f1dd4f7080
2 changed files with 5 additions and 5 deletions

View file

@ -4,7 +4,7 @@
#include <nano/store/lmdb/lmdb.hpp>
#include <nano/store/rocksdb/rocksdb.hpp>
std::unique_ptr<nano::store::component> nano::make_store (nano::logger & logger, std::filesystem::path const & path, nano::ledger_constants & constants, bool read_only, bool add_db_postfix, nano::node_config const & node_config)
std::unique_ptr<nano::store::component> nano::make_store (nano::logger & logger, std::filesystem::path const & path, nano::ledger_constants & constants, bool read_only, bool add_db_postfix, nano::node_config node_config)
{
if (node_config.database_backend == nano::database_backend::rocksdb)
{
@ -13,9 +13,9 @@ std::unique_ptr<nano::store::component> nano::make_store (nano::logger & logger,
if (node_config.rocksdb_config.enable && node_config.database_backend == nano::database_backend::lmdb)
{
// rocksdb.enable is true in config, but database_backend is set to LMDB in config
logger.critical (nano::log::type::config, "Legacy RocksDb setting detected in config file.");
logger.info (nano::log::type::config, "Edit node_config.toml and use 'database_backend' in the node section to re-enable RocksDb");
std::exit (EXIT_FAILURE);
logger.warn (nano::log::type::config, "Use of deprecated RocksDb setting detected in config file.\nPlease edit node_config.toml and use the new 'database_backend' to enable RocksDb");
node_config.database_backend = nano::database_backend::rocksdb;
return std::make_unique<nano::store::rocksdb::component> (logger, add_db_postfix ? path / "rocksdb" : path, constants, node_config.rocksdb_config, read_only);
}
return std::make_unique<nano::store::lmdb::component> (logger, add_db_postfix ? path / "data.ldb" : path, constants, node_config.diagnostics_config.txn_tracking, node_config.block_processor_batch_max_time, node_config.lmdb_config, node_config.backup_before_upgrade);

View file

@ -23,5 +23,5 @@ class component;
namespace nano
{
std::unique_ptr<nano::store::component> make_store (nano::logger &, std::filesystem::path const & path, nano::ledger_constants & constants, bool read_only = false, bool add_db_postfix = true, nano::node_config const & node_config = nano::node_config{});
std::unique_ptr<nano::store::component> make_store (nano::logger &, std::filesystem::path const & path, nano::ledger_constants & constants, bool read_only = false, bool add_db_postfix = true, nano::node_config node_config = nano::node_config{});
}