diff --git a/doc/release-notes.md b/doc/release-notes.md index 0918adb8c2e..c6b43379d31 100644 --- a/doc/release-notes.md +++ b/doc/release-notes.md @@ -86,6 +86,12 @@ New settings Updated settings ---------------- +- In previous releases, the meaning of the command line option + `-persistmempool` (without a value provided) incorrectly disabled mempool + persistence. `-persistmempool` is now treated like other boolean options to + mean `-persistmempool=1`. Passing `-persistmempool=0`, `-persistmempool=1` + and `-nopersistmempool` is unaffected. (#23061) + Tools and Utilities ------------------- diff --git a/src/init.cpp b/src/init.cpp index ff36ec805c8..244c13170ac 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -218,7 +218,7 @@ void Shutdown(NodeContext& node) node.banman.reset(); node.addrman.reset(); - if (node.mempool && node.mempool->IsLoaded() && node.args->GetArg("-persistmempool", DEFAULT_PERSIST_MEMPOOL)) { + if (node.mempool && node.mempool->IsLoaded() && node.args->GetBoolArg("-persistmempool", DEFAULT_PERSIST_MEMPOOL)) { DumpMempool(*node.mempool); } diff --git a/src/validation.cpp b/src/validation.cpp index 51cb1d373cc..a5842187e52 100644 --- a/src/validation.cpp +++ b/src/validation.cpp @@ -3740,7 +3740,7 @@ bool BlockManager::LoadBlockIndexDB(std::setSetIsLoaded(!ShutdownRequested()); diff --git a/test/functional/mempool_persist.py b/test/functional/mempool_persist.py index 015876cbbfc..71a132dca3c 100755 --- a/test/functional/mempool_persist.py +++ b/test/functional/mempool_persist.py @@ -155,7 +155,7 @@ class MempoolPersistTest(BitcoinTestFramework): self.log.debug("Stop nodes, make node1 use mempool.dat from node0. Verify it has 6 transactions") os.rename(mempooldat0, mempooldat1) self.stop_nodes() - self.start_node(1, extra_args=[]) + self.start_node(1, extra_args=["-persistmempool"]) assert self.nodes[1].getmempoolinfo()["loaded"] assert_equal(len(self.nodes[1].getrawmempool()), 6)