HomePhabricator

[txindex] Activate new transaction index code that runs in background

Description

[txindex] Activate new transaction index code that runs in background

Summary:
Backports the remaining six commits from PR13033, thus activating the
new transaction index database:
9b2704777 [doc] Include txindex changes in the release notes.
ed77dd6b3 [test] Simple unit test for TxIndex.
6d772a3d4 [rpc] Public interfaces to GetTransaction block until synced.
a03f804f2 [index] Move disk IO logic from GetTransaction to TxIndex::FindTx.
e0a3b8003 [validation] Replace tx index code in validation code with TxIndex.
8181db88f [init] Initialize and start TxIndex in init code.

Also incorporates fixes from PR14071 and PR15410:
faf4a9b67 qa: Stop txindex thread before calling destructor
fab6b07c1 test: txindex: interrupt threadGroup before calling destructor

https://github.com/bitcoin/bitcoin/compare/8181db88f~1..9b2704777
https://github.com/bitcoin/bitcoin/pull/13033/files
https://github.com/bitcoin/bitcoin/pull/14071/files
https://github.com/bitcoin/bitcoin/pull/15410/files

Depends on D2904

Test Plan:
make check
test_runner.py

manual testing done:

  • migration from existing txindex (on testnet: 2 minute block on startup)
  • fresh txindex=1 with new code (testnet: 30 minutes background job)
  • mainnet test (57 minutes for blocking migration on startup; 8.5 hours fresh indexing in background)
  • test ElectrumX compatibility

Reviewers: #bitcoin_abc, deadalnix, jasonbcox, Fabien

Reviewed By: #bitcoin_abc, deadalnix

Maniphest Tasks: T617

Differential Revision: https://reviews.bitcoinabc.org/D2924

Details

Provenance
jimpoAuthored on May 26 2019, 23:58
Mark Lundeberg <36528214+markblundeberg@users.noreply.github.com>Committed on May 27 2019, 00:18
markblundebergPushed on May 27 2019, 00:18
Reviewer
Restricted Project
Differential Revision
D2924: [txindex] Activate new transaction index code that runs in background
Parents
rABC318414817334: Merge #11468: [tests] Make comp test framework more debuggable
Branches
Unknown
Tags
Unknown