diff --git a/eth/common/utils.nim b/eth/common/utils.nim index f242a96c..9f2e687d 100644 --- a/eth/common/utils.nim +++ b/eth/common/utils.nim @@ -10,5 +10,5 @@ proc parseAddress*(hexString: string): EthAddress = proc `$`*(a: EthAddress): string = a.toHex() -newPublicGauge connected_peers, "number of peers in the pool" +declarePublicGauge connected_peers, "number of peers in the pool" diff --git a/eth/trie/backends/rocksdb_backend.nim b/eth/trie/backends/rocksdb_backend.nim index 0f7aa7c6..94c43ab2 100644 --- a/eth/trie/backends/rocksdb_backend.nim +++ b/eth/trie/backends/rocksdb_backend.nim @@ -7,6 +7,10 @@ type ChainDB* = RocksChainDB +# Maximum open files for rocksdb, set to 512 to be safe for usual 1024 Linux +# limit per application +const maxOpenFiles = 512 + proc get*(db: ChainDB, key: openarray[byte]): seq[byte] = let s = db.store.getBytes(key) if s.ok: @@ -44,7 +48,8 @@ proc newChainDB*(basePath: string, readOnly = false): ChainDB = createDir(dataDir) createDir(backupsDir) - let s = result.store.init(dataDir, backupsDir, readOnly) + let s = result.store.init(dataDir, backupsDir, readOnly, + maxOpenFiles = maxOpenFiles) if not s.ok: raiseStorageInitError() if not readOnly: