Page MenuHomePhabricator

[mempool] Mark mempool import fails that were found in mempool as 'already there'
ClosedPublic

Authored by fpelliccioni on Oct 17 2019, 17:38.

Details

Summary

I was investigating the reasons for failed imports in mempool and noticed that LoadMempool() and pwallet->postInitProcess() (for all wallets) are executed concurrently. The wallet will end up importing transactions that LoadMempool() later tries to import; the latter will fail due to the tx already being in the mempool.

Backport of Bitcoin Core PR11062
https://github.com/bitcoin/bitcoin/pull/11062

Test Plan
make check-all

Diff Detail

Repository
rABC Bitcoin ABC
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.