Page MenuHomePhabricator

[avalanche] Keep a rolling bloom filter of our recently announced proofs
ClosedPublic

Authored by Fabien on Jun 7 2021, 14:40.

Details

Reviewers
PiRK
Group Reviewers
Restricted Project
Maniphest Tasks
Restricted Maniphest Task
Commits
rABC8ee560a6dec6: [avalanche] Keep a rolling bloom filter of our recently announced proofs
Summary

Similar to what is done for the transactions, this will be used to
filter which proof can be requested for download by a peer. The intent
is to improve privacy by preventing peers from being able to guess our
proof pool. The rolling bloom filter parameters are kept identical to
the ones used by the transactions, which itself is based on the
inventory rate limit.

There is no change in behavior at this stage.

Ref T1611.

Test Plan
ninja all check-all

Diff Detail

Repository
rABC Bitcoin ABC
Branch
avalanche_recently_announced_inv
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 15931
Build 31762: Build Difflint-circular-dependencies · build-diff · build-without-wallet · build-clang-tidy · build-debug · build-clang
Build 31761: arc lint + arc unit

Event Timeline

Fabien requested review of this revision.Jun 7 2021, 14:40

Tail of the build log:

[400/452] Running utility command for check-pow-aserti32d_tests
[401/452] Running utility command for check-bitcoin-checkpoints_tests
[402/452] bitcoin: testing blockcheck_tests
[403/452] Running pow test suite
PASSED: pow test suite
[404/452] bitcoin: testing validationinterface_tests
[405/452] bitcoin: testing blockstatus_tests
[406/452] Running utility command for check-bitcoin-blockcheck_tests
[407/452] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/apptests.cpp.o
[408/452] Running utility command for check-bitcoin-validationinterface_tests
[409/452] bitcoin: testing cashaddr_tests
[410/452] Running utility command for check-bitcoin-blockstatus_tests
[411/452] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/bitcoinaddressvalidatortests.cpp.o
[412/452] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/compattests.cpp.o
[413/452] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/guiutiltests.cpp.o
[414/452] Running utility command for check-bitcoin-cashaddr_tests
[415/452] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/rpcnestedtests.cpp.o
[416/452] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/test_main.cpp.o
[417/452] bitcoin: testing script_tests
[418/452] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/util.cpp.o
[419/452] Linking CXX executable src/avalanche/test/test-avalanche
[420/452] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/uritests.cpp.o
[421/452] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/__/__/wallet/test/wallet_test_fixture.cpp.o
[422/452] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/addressbooktests.cpp.o
[423/452] Running utility command for check-bitcoin-script_tests
[424/452] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/wallettests.cpp.o
[425/452] bitcoin: testing crypto_tests
[426/452] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/paymentservertests.cpp.o
[427/452] bitcoin: testing versionbits_tests
[428/452] Running utility command for check-bitcoin-crypto_tests
[429/452] Running utility command for check-bitcoin-versionbits_tests
[430/452] avalanche: testing delegation_tests
[431/452] Running utility command for check-avalanche-delegation_tests
[432/452] avalanche: testing orphanproofpool_tests
[433/452] Running utility command for check-avalanche-orphanproofpool_tests
[434/452] avalanche: testing proof_tests
[435/452] Running utility command for check-avalanche-proof_tests
[436/452] bitcoin: testing monolith_opcodes_tests
[437/452] Running utility command for check-bitcoin-monolith_opcodes_tests
[438/452] avalanche: testing processor_tests
FAILED: src/avalanche/test/CMakeFiles/check-avalanche-processor_tests 
cd /work/abc-ci-builds/build-clang/src/avalanche/test && /usr/bin/cmake -E make_directory /work/abc-ci-builds/build-clang/test/junit && /usr/bin/cmake -E make_directory /work/abc-ci-builds/build-clang/test/log && /usr/bin/cmake -E env /work/cmake/utils/log-and-print-on-failure.sh /work/abc-ci-builds/build-clang/test/log/avalanche-processor_tests.log /work/abc-ci-builds/build-clang/src/avalanche/test/test-avalanche --run_test=processor_tests --logger=HRF,message:JUNIT,message,avalanche-processor_tests.xml --catch_system_errors=no
Segmentation fault (core dumped)
[439/452] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/test_bitcoin-qt_autogen/mocs_compilation.cpp.o
[440/452] secp256k1: testing secp256k1-exhaustive_tests
[441/452] avalanche: testing peermanager_tests
[442/452] Running utility command for check-avalanche-peermanager_tests
[443/452] Linking CXX executable src/qt/test/test_bitcoin-qt
[444/452] bitcoin-qt: testing test_bitcoin-qt
[445/452] Running bitcoin-qt test suite
PASSED: bitcoin-qt test suite
[446/452] bitcoin: testing coins_tests
[447/452] Running utility command for check-bitcoin-coins_tests
[448/452] Running bitcoin test suite
PASSED: bitcoin test suite
[449/452] secp256k1: testing secp256k1-tests
[450/452] Running secp256k1 test suite
PASSED: secp256k1 test suite
ninja: build stopped: cannot make progress due to previous errors.
Build build-clang failed with exit code 1
Fabien planned changes to this revision.Jun 7 2021, 14:45

Investigating the build failure

Fabien requested review of this revision.Jun 7 2021, 15:06

I don't know what caused the failure, I couldn't reproduce in a 100 loop on a similar debian, nor did it reproduce on CI.

This revision is now accepted and ready to land.Jun 8 2021, 08:09