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
Branch
feature-backport-26fee4f6b
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 7797
Build 13625: Bitcoin ABC Buildbot (legacy)
Build 13624: arc lint + arc unit

Event Timeline

This revision is now accepted and ready to land.Oct 18 2019, 07:12