Page MenuHomePhabricator

[avalanche] Use the block fitter to track the finalized txs statistics
Needs ReviewPublic

Authored by Fabien on Wed, Mar 12, 21:16.

Details

Reviewers
None
Group Reviewers
Restricted Project
Summary

This will later be used to check if a transaction would fit a block, and implement a back pressure feature to avoid creating blocks from finalized txs that are invalid or polling txs that could not be added to the next block.

There is no change in behavior.

Depends on D17793.

Test Plan
ninja all check-all

Diff Detail

Repository
rABC Bitcoin ABC
Branch
avalanche_block_fitter_txs_stats
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 32698
Build 64884: Build Difflint-circular-dependencies · build-without-wallet · build-diff · build-debug · build-bench · build-clang · build-clang-tidy
Build 64883: arc lint + arc unit

Event Timeline

Fabien requested review of this revision.Wed, Mar 12, 21:16

Tail of the build log:

/work/src/txmempool.cpp:543: error: undefined reference to 'node::BlockFitter::addTx(unsigned long, long, Amount)'
collect2: error: ld returned 1 exit status
[597/653] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/bench_bitcoin.cpp.o
[598/653] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bantablemodel.cpp.o
[599/653] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/cashaddr.cpp.o
[600/653] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/clientmodel.cpp.o
[601/653] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/ccoins_caching.cpp.o
[602/653] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/chacha_poly_aead.cpp.o
[603/653] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/chacha20.cpp.o
[604/653] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoin-qt-base_autogen/mocs_compilation.cpp.o
[605/653] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/checkqueue.cpp.o
[606/653] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/intro.cpp.o
[607/653] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/crypto_hash.cpp.o
[608/653] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/splashscreen.cpp.o
[609/653] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/data.cpp.o
[610/653] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/examples.cpp.o
[611/653] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/gcs_filter.cpp.o
[612/653] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/hashpadding.cpp.o
[613/653] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/peertablemodel.cpp.o
[614/653] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/lockedpool.cpp.o
[615/653] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/optionsmodel.cpp.o
[616/653] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/optionsdialog.cpp.o
[617/653] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/merkle_root.cpp.o
[618/653] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/nanobench.cpp.o
[619/653] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/pool.cpp.o
[620/653] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoingui.cpp.o
[621/653] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/poly1305.cpp.o
[622/653] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/prevector.cpp.o
[623/653] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/rollingbloom.cpp.o
[624/653] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/bench.cpp.o
[625/653] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/guiutil.cpp.o
[626/653] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/streams_findbyte.cpp.o
[627/653] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/strencodings.cpp.o
[628/653] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/util_time.cpp.o
[629/653] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/verify_script.cpp.o
[630/653] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/bitcoin.cpp.o
[631/653] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/utilitydialog.cpp.o
[632/653] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/block_assemble.cpp.o
[633/653] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qrc_bitcoin_locale.cpp.o
[634/653] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qrc_bitcoin.cpp.o
[635/653] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/checkblock.cpp.o
[636/653] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/crypto_aes.cpp.o
[637/653] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/rpcconsole.cpp.o
[638/653] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/duplicate_inputs.cpp.o
[639/653] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/mempool_eviction.cpp.o
[640/653] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/load_external.cpp.o
[641/653] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/peer_eviction.cpp.o
[642/653] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/chained_tx.cpp.o
[643/653] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/mempool_stress.cpp.o
[644/653] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/rpc_mempool.cpp.o
[645/653] Building CXX object src/bench/CMakeFiles/bitcoin-bench.dir/rpc_blockchain.cpp.o
[646/653] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/trafficgraphwidget.cpp.o
[647/653] Linking CXX static library src/qt/libbitcoin-qt-base.a
[648/653] Automatic MOC for target bitcoin-qt
[649/653] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/bitcoin-qt_autogen/mocs_compilation.cpp.o
[650/653] Linking CXX executable src/bench/bitcoin-bench
[651/653] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/main.cpp.o
[652/653] Linking CXX executable src/qt/bitcoin-qt
ninja: build stopped: cannot make progress due to previous errors.
Build build-without-wallet failed with exit code 1