Merge bitcoin/bitcoin#23061: Fix (inverse) meaning of -persistmempool

faa9c19a4b doc: Add 23061 release notes (MarcoFalke)
faff17bbde Fix (inverse) meaning of -persistmempool (MarcoFalke)

Pull request description:

  Passing `-persistmempool` is currently treated as `-nopersistmempool`

ACKs for top commit:
  jnewbery:
    reACK faa9c19a4b
  hebasto:
    ACK faa9c19a4b, I have reviewed the code and it looks OK, I agree it can be merged.

Tree-SHA512: f34a89a07745dabe340eb845b2a348b79c093e9056f7a21c17e1ba2e278177c9b4cf30e8095791fd645a7f90eb34850b2eee0c869b4f6ec02bf749c73b0e52ee
This commit is contained in:
merge-script 2021-09-27 10:12:14 +02:00
commit 632be5514c
No known key found for this signature in database
GPG key ID: CE2B75697E69A548
4 changed files with 9 additions and 3 deletions

View file

@ -86,6 +86,12 @@ New settings
Updated 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 Tools and Utilities
------------------- -------------------

View file

@ -218,7 +218,7 @@ void Shutdown(NodeContext& node)
node.banman.reset(); node.banman.reset();
node.addrman.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); DumpMempool(*node.mempool);
} }

View file

@ -3740,7 +3740,7 @@ bool BlockManager::LoadBlockIndexDB(std::set<CBlockIndex*, CBlockIndexWorkCompar
void CChainState::LoadMempool(const ArgsManager& args) void CChainState::LoadMempool(const ArgsManager& args)
{ {
if (!m_mempool) return; if (!m_mempool) return;
if (args.GetArg("-persistmempool", DEFAULT_PERSIST_MEMPOOL)) { if (args.GetBoolArg("-persistmempool", DEFAULT_PERSIST_MEMPOOL)) {
::LoadMempool(*m_mempool, *this); ::LoadMempool(*m_mempool, *this);
} }
m_mempool->SetIsLoaded(!ShutdownRequested()); m_mempool->SetIsLoaded(!ShutdownRequested());

View file

@ -155,7 +155,7 @@ class MempoolPersistTest(BitcoinTestFramework):
self.log.debug("Stop nodes, make node1 use mempool.dat from node0. Verify it has 6 transactions") self.log.debug("Stop nodes, make node1 use mempool.dat from node0. Verify it has 6 transactions")
os.rename(mempooldat0, mempooldat1) os.rename(mempooldat0, mempooldat1)
self.stop_nodes() self.stop_nodes()
self.start_node(1, extra_args=[]) self.start_node(1, extra_args=["-persistmempool"])
assert self.nodes[1].getmempoolinfo()["loaded"] assert self.nodes[1].getmempoolinfo()["loaded"]
assert_equal(len(self.nodes[1].getrawmempool()), 6) assert_equal(len(self.nodes[1].getrawmempool()), 6)