From 572cf5c65a866cce290ed81e563db0ee9d11e779 Mon Sep 17 00:00:00 2001 From: Russel Waters Date: Wed, 16 Jan 2019 10:01:18 -0500 Subject: [PATCH] MDB_NORDAHEAD option added to env (#1421) --- nano/node/lmdb.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nano/node/lmdb.cpp b/nano/node/lmdb.cpp index 04216528..ae056191 100644 --- a/nano/node/lmdb.cpp +++ b/nano/node/lmdb.cpp @@ -25,7 +25,8 @@ nano::mdb_env::mdb_env (bool & error_a, boost::filesystem::path const & path_a, release_assert (status3 == 0); // It seems if there's ever more threads than mdb_env_set_maxreaders has read slots available, we get failures on transaction creation unless MDB_NOTLS is specified // This can happen if something like 256 io_threads are specified in the node config - auto status4 (mdb_env_open (environment, path_a.string ().c_str (), MDB_NOSUBDIR | MDB_NOTLS, 00600)); + // MDB_NORDAHEAD will allow platforms that support it to load the DB in memory as needed. + auto status4 (mdb_env_open (environment, path_a.string ().c_str (), MDB_NOSUBDIR | MDB_NOTLS | MDB_NORDAHEAD, 00600)); release_assert (status4 == 0); error_a = status4 != 0; }