aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormerge-script <falke.marco@gmail.com>2021-09-27 10:12:14 +0200
committermerge-script <falke.marco@gmail.com>2021-09-27 10:12:14 +0200
commit632be5514c3161dfdd8730af104f38c27922b855 (patch)
tree5f4c34511af609f614b7f156174025ed6d2b166f
parent58c25bdcea9b95348e639180932b388d4bda8157 (diff)
parentfaa9c19a4b27e7fabf7c5deae1b4c4ca612ed01a (diff)
downloadbitcoin-632be5514c3161dfdd8730af104f38c27922b855.tar.xz
Merge bitcoin/bitcoin#23061: Fix (inverse) meaning of -persistmempool
faa9c19a4b27e7fabf7c5deae1b4c4ca612ed01a doc: Add 23061 release notes (MarcoFalke) faff17bbde6dcb1482a6210bc48b3192603a446f Fix (inverse) meaning of -persistmempool (MarcoFalke) Pull request description: Passing `-persistmempool` is currently treated as `-nopersistmempool` ACKs for top commit: jnewbery: reACK faa9c19a4b27e7fabf7c5deae1b4c4ca612ed01a hebasto: ACK faa9c19a4b27e7fabf7c5deae1b4c4ca612ed01a, I have reviewed the code and it looks OK, I agree it can be merged. Tree-SHA512: f34a89a07745dabe340eb845b2a348b79c093e9056f7a21c17e1ba2e278177c9b4cf30e8095791fd645a7f90eb34850b2eee0c869b4f6ec02bf749c73b0e52ee
-rw-r--r--doc/release-notes.md6
-rw-r--r--src/init.cpp2
-rw-r--r--src/validation.cpp2
-rwxr-xr-xtest/functional/mempool_persist.py2
4 files changed, 9 insertions, 3 deletions
diff --git a/doc/release-notes.md b/doc/release-notes.md
index 0918adb8c2..c6b43379d3 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 ff36ec805c..244c13170a 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 51cb1d373c..a5842187e5 100644
--- a/src/validation.cpp
+++ b/src/validation.cpp
@@ -3740,7 +3740,7 @@ bool BlockManager::LoadBlockIndexDB(std::set<CBlockIndex*, CBlockIndexWorkCompar
void CChainState::LoadMempool(const ArgsManager& args)
{
if (!m_mempool) return;
- if (args.GetArg("-persistmempool", DEFAULT_PERSIST_MEMPOOL)) {
+ if (args.GetBoolArg("-persistmempool", DEFAULT_PERSIST_MEMPOOL)) {
::LoadMempool(*m_mempool, *this);
}
m_mempool->SetIsLoaded(!ShutdownRequested());
diff --git a/test/functional/mempool_persist.py b/test/functional/mempool_persist.py
index 015876cbbf..71a132dca3 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)