Is there an existing issue for this?
- I have searched the existing issues
Current behaviour
After a clean shutdown, bitcoind failed to load the majority of mempool transactions from mempool.dat. I keep a node up for months for webpage mempoolexplorer.com with options: maxmempool=2000 mempoolfullrbf=1 mempoolexpiry=999999 to maximize the number of txs in my mempool. The node is currently loading and saving mempool txs when shutdown ok (but with only a small number of them instead of a fully synchronized mempool). So I think It could be related to the currently mempool size spike. (larger than ever according jochen-hoenicke )
Expected behaviour
The expected behavior is to save/load all the transactions again no matter the size of the mempool
Steps to reproduce
It’s a issue difficult to reproduce, because I have no access to a node syncronized with “the full mempool” since mine failed.
In order to reproduce the issue you must have access to a big mempool and try to start/stop bitcoind and monitor mempool.dat. (Mine is currenty erased and only with a few transactions)
Not sure if the problem was writing the txs into mempool.dat or reading them.
Maybe this utility I created can help copying a live mempool from one node to another:
https://github.com/dev7ba/mempoolcp
Relevant log output
I did not copy the debug.log line (currently erased) but it was something like this:
Imported mempool transactions from disk: (small number here) succeeded, (big number here) failed, 0 expired, 0 already there, 0 waiting for initial broadcast
How did you obtain Bitcoin Core
Pre-built binaries
What version of Bitcoin Core are you using?
v24.0.0
Operating system and version
Ubuntu 20.04.6 LTS
Machine specifications
Intel(R) Core(TM) i5-6260U CPU @ 1.80GHz 16GB RAM