Skip to content

Failed loading mempool when restarting bitcoind #29193

@dev7ba

Description

@dev7ba

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions