From d342e654f3a699db56bc0be43885e0e73881b7a9 Mon Sep 17 00:00:00 2001 From: Anshal Shukla Date: Mon, 14 Aug 2023 14:00:26 +0530 Subject: [PATCH 1/2] add db.engine flag --- internal/cli/server/config.go | 4 ++++ internal/cli/server/flags.go | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/internal/cli/server/config.go b/internal/cli/server/config.go index dcee1e26f5..fda7146edf 100644 --- a/internal/cli/server/config.go +++ b/internal/cli/server/config.go @@ -67,6 +67,9 @@ type Config struct { // Ancient is the directory to store the state in Ancient string `hcl:"ancient,optional" toml:"ancient,optional"` + // DBEngine is used to select leveldb or pebble as database + DBEngine string `hcl:"dbengine,optional" toml:"dbengine,optional"` + // KeyStoreDir is the directory to store keystores KeyStoreDir string `hcl:"keystore,optional" toml:"keystore,optional"` @@ -1278,6 +1281,7 @@ func (c *Config) buildNode() (*node.Config, error) { cfg := &node.Config{ Name: clientIdentifier, DataDir: c.DataDir, + DBEngine: c.DBEngine, KeyStoreDir: c.KeyStoreDir, UseLightweightKDF: c.Accounts.UseLightweightKDF, InsecureUnlockAllowed: c.Accounts.AllowInsecureUnlock, diff --git a/internal/cli/server/flags.go b/internal/cli/server/flags.go index d0a53aa4b8..d33f96fa39 100644 --- a/internal/cli/server/flags.go +++ b/internal/cli/server/flags.go @@ -53,6 +53,12 @@ func (c *Command) Flags() *flagset.Flagset { Value: &c.cliConfig.Ancient, Default: c.cliConfig.Ancient, }) + f.StringFlag(&flagset.StringFlag{ + Name: "db.engine", + Usage: "Backing database implementation to use ('leveldb' or 'pebble')", + Value: &c.cliConfig.DBEngine, + Default: "leveldb", + }) f.StringFlag(&flagset.StringFlag{ Name: "keystore", Usage: "Path of the directory where keystores are located", From 18dd5dc643735b0d643328859d461191339e6867 Mon Sep 17 00:00:00 2001 From: Anshal Shukla Date: Thu, 17 Aug 2023 11:38:21 +0530 Subject: [PATCH 2/2] Update docs and add default config --- builder/files/config.toml | 1 + docs/cli/example_config.toml | 1 + docs/cli/server.md | 2 ++ internal/cli/server/config.go | 1 + internal/cli/server/flags.go | 2 +- packaging/templates/mainnet-v1/archive/config.toml | 1 + packaging/templates/mainnet-v1/sentry/sentry/bor/config.toml | 1 + packaging/templates/mainnet-v1/sentry/validator/bor/config.toml | 1 + packaging/templates/mainnet-v1/without-sentry/bor/config.toml | 1 + packaging/templates/testnet-v4/archive/config.toml | 1 + packaging/templates/testnet-v4/sentry/sentry/bor/config.toml | 1 + packaging/templates/testnet-v4/sentry/validator/bor/config.toml | 1 + packaging/templates/testnet-v4/without-sentry/bor/config.toml | 1 + 13 files changed, 14 insertions(+), 1 deletion(-) diff --git a/builder/files/config.toml b/builder/files/config.toml index 15c357cb6c..d7894528d5 100644 --- a/builder/files/config.toml +++ b/builder/files/config.toml @@ -8,6 +8,7 @@ chain = "mainnet" # vmdebug = false datadir = "/var/lib/bor/data" # ancient = "" +db.engine = "leveldb" # keystore = "/var/lib/bor/keystore" # "rpc.batchlimit" = 100 # "rpc.returndatalimit" = 100000 diff --git a/docs/cli/example_config.toml b/docs/cli/example_config.toml index ef15d6bfdd..2dd03caccd 100644 --- a/docs/cli/example_config.toml +++ b/docs/cli/example_config.toml @@ -8,6 +8,7 @@ verbosity = 3 # Logging verbosity for the server (5=trace|4=de vmdebug = false # Record information useful for VM and contract debugging datadir = "var/lib/bor" # Path of the data directory to store information ancient = "" # Data directory for ancient chain segments (default = inside chaindata) +db.engine = "leveldb" # Used to select leveldb or pebble as database (default = leveldb) keystore = "" # Path of the directory where keystores are located "rpc.batchlimit" = 100 # Maximum number of messages in a batch (default=100, use 0 for no limits) "rpc.returndatalimit" = 100000 # Maximum size (in bytes) a result of an rpc request could have (default=100000, use 0 for no limits) diff --git a/docs/cli/server.md b/docs/cli/server.md index 13e8cda447..213d491fff 100644 --- a/docs/cli/server.md +++ b/docs/cli/server.md @@ -18,6 +18,8 @@ The ```bor server``` command runs the Bor client. - ```datadir.ancient```: Data directory for ancient chain segments (default = inside chaindata) +- ```db.engine```: Backing database implementation to use ('leveldb' or 'pebble') (default: leveldb) + - ```keystore```: Path of the directory where keystores are located - ```rpc.batchlimit```: Maximum number of messages in a batch (default=100, use 0 for no limits) (default: 100) diff --git a/internal/cli/server/config.go b/internal/cli/server/config.go index fda7146edf..9ee5f55676 100644 --- a/internal/cli/server/config.go +++ b/internal/cli/server/config.go @@ -595,6 +595,7 @@ func DefaultConfig() *Config { EnablePreimageRecording: false, DataDir: DefaultDataDir(), Ancient: "", + DBEngine: "leveldb", Logging: &LoggingConfig{ Vmodule: "", Json: false, diff --git a/internal/cli/server/flags.go b/internal/cli/server/flags.go index d33f96fa39..34d3ace94f 100644 --- a/internal/cli/server/flags.go +++ b/internal/cli/server/flags.go @@ -57,7 +57,7 @@ func (c *Command) Flags() *flagset.Flagset { Name: "db.engine", Usage: "Backing database implementation to use ('leveldb' or 'pebble')", Value: &c.cliConfig.DBEngine, - Default: "leveldb", + Default: c.cliConfig.DBEngine, }) f.StringFlag(&flagset.StringFlag{ Name: "keystore", diff --git a/packaging/templates/mainnet-v1/archive/config.toml b/packaging/templates/mainnet-v1/archive/config.toml index 3c0f3f40f7..8522ca0304 100644 --- a/packaging/templates/mainnet-v1/archive/config.toml +++ b/packaging/templates/mainnet-v1/archive/config.toml @@ -4,6 +4,7 @@ chain = "mainnet" # vmdebug = false datadir = "/var/lib/bor/data" # ancient = "" +# db.engine = "leveldb" # keystore = "" # "rpc.batchlimit" = 100 # "rpc.returndatalimit" = 100000 diff --git a/packaging/templates/mainnet-v1/sentry/sentry/bor/config.toml b/packaging/templates/mainnet-v1/sentry/sentry/bor/config.toml index 38631041c9..411c16f529 100644 --- a/packaging/templates/mainnet-v1/sentry/sentry/bor/config.toml +++ b/packaging/templates/mainnet-v1/sentry/sentry/bor/config.toml @@ -4,6 +4,7 @@ chain = "mainnet" # vmdebug = false datadir = "/var/lib/bor/data" # ancient = "" +# db.engine = "leveldb" # keystore = "" # "rpc.batchlimit" = 100 # "rpc.returndatalimit" = 100000 diff --git a/packaging/templates/mainnet-v1/sentry/validator/bor/config.toml b/packaging/templates/mainnet-v1/sentry/validator/bor/config.toml index 19d0776193..7798cccd1a 100644 --- a/packaging/templates/mainnet-v1/sentry/validator/bor/config.toml +++ b/packaging/templates/mainnet-v1/sentry/validator/bor/config.toml @@ -6,6 +6,7 @@ chain = "mainnet" # vmdebug = false datadir = "/var/lib/bor/data" # ancient = "" +# db.engine = "leveldb" # keystore = "$BOR_DIR/keystore" # "rpc.batchlimit" = 100 # "rpc.returndatalimit" = 100000 diff --git a/packaging/templates/mainnet-v1/without-sentry/bor/config.toml b/packaging/templates/mainnet-v1/without-sentry/bor/config.toml index 15ca789262..52975db775 100644 --- a/packaging/templates/mainnet-v1/without-sentry/bor/config.toml +++ b/packaging/templates/mainnet-v1/without-sentry/bor/config.toml @@ -6,6 +6,7 @@ chain = "mainnet" # vmdebug = false datadir = "/var/lib/bor/data" # ancient = "" +# db.engine = "leveldb" # keystore = "$BOR_DIR/keystore" # "rpc.batchlimit" = 100 # "rpc.returndatalimit" = 100000 diff --git a/packaging/templates/testnet-v4/archive/config.toml b/packaging/templates/testnet-v4/archive/config.toml index bc6a2d68f1..e6ad0ea920 100644 --- a/packaging/templates/testnet-v4/archive/config.toml +++ b/packaging/templates/testnet-v4/archive/config.toml @@ -4,6 +4,7 @@ chain = "mumbai" # vmdebug = false datadir = "/var/lib/bor/data" # ancient = "" +# db.engine = "leveldb" # keystore = "" # "rpc.batchlimit" = 100 # "rpc.returndatalimit" = 100000 diff --git a/packaging/templates/testnet-v4/sentry/sentry/bor/config.toml b/packaging/templates/testnet-v4/sentry/sentry/bor/config.toml index 27fbd6593a..7ec7dc639a 100644 --- a/packaging/templates/testnet-v4/sentry/sentry/bor/config.toml +++ b/packaging/templates/testnet-v4/sentry/sentry/bor/config.toml @@ -4,6 +4,7 @@ chain = "mumbai" # vmdebug = false datadir = "/var/lib/bor/data" # ancient = "" +# db.engine = "leveldb" # keystore = "" # "rpc.batchlimit" = 100 # "rpc.returndatalimit" = 100000 diff --git a/packaging/templates/testnet-v4/sentry/validator/bor/config.toml b/packaging/templates/testnet-v4/sentry/validator/bor/config.toml index c1b455dddf..ffc6ef8633 100644 --- a/packaging/templates/testnet-v4/sentry/validator/bor/config.toml +++ b/packaging/templates/testnet-v4/sentry/validator/bor/config.toml @@ -6,6 +6,7 @@ chain = "mumbai" # vmdebug = false datadir = "/var/lib/bor/data" # ancient = "" +# db.engine = "leveldb" # keystore = "$BOR_DIR/keystore" # "rpc.batchlimit" = 100 # "rpc.returndatalimit" = 100000 diff --git a/packaging/templates/testnet-v4/without-sentry/bor/config.toml b/packaging/templates/testnet-v4/without-sentry/bor/config.toml index f78f6f8525..00d26c52cc 100644 --- a/packaging/templates/testnet-v4/without-sentry/bor/config.toml +++ b/packaging/templates/testnet-v4/without-sentry/bor/config.toml @@ -6,6 +6,7 @@ chain = "mumbai" # vmdebug = false datadir = "/var/lib/bor/data" # ancient = "" +# db.engine = "leveldb" # keystore = "$BOR_DIR/keystore" # "rpc.batchlimit" = 100 # "rpc.returndatalimit" = 100000