mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-03-05 14:06:27 -05:00
Merge bitcoin/bitcoin#29893: test: fix intermittent failure in p2p_compactblocks_hb.py
1ae5b208d3
test: fix intermittent failure in p2p_compactblocks_hb.py (Martin Zumsande) Pull request description: Fixes #29860 As a result of node1 receiving a block, it sends out SENDCMPCT messages to some of its peers to update the high-bandwidth status. We need to wait until those are received and processed by the peers to avoid intermittent failures. Before, we'd only wait until all peers have synced with the new block (within `generate`) which is not sufficient. I could reproduce the failure by adding a `std::this_thread::sleep_for(std::chrono::milliseconds(1000));` sleep to the [net_processing code](c7567d9223/src/net_processing.cpp (L3763)
) that processes `NetMsgType::SENDCMPCT`. ACKs for top commit: instagibbs: ACK1ae5b208d3
alfonsoromanz: Tested ACK1ae5b208d3
glozow: ACK1ae5b208d3
Tree-SHA512: 47c29616e73a5e0ff966fc231e4f672c1a6892511e5c10a3905b30ad6b2a3d1267fa0a88bd8f64b523fe580199d22a43545c84e361879e5096483152065c4b9a
This commit is contained in:
commit
8cd9475321
1 changed files with 9 additions and 4 deletions
|
@ -32,10 +32,15 @@ class CompactBlocksConnectionTest(BitcoinTestFramework):
|
|||
self.connect_nodes(peer, 0)
|
||||
self.generate(self.nodes[0], 1)
|
||||
self.disconnect_nodes(peer, 0)
|
||||
status_to = [self.peer_info(1, i)['bip152_hb_to'] for i in range(2, 6)]
|
||||
status_from = [self.peer_info(i, 1)['bip152_hb_from'] for i in range(2, 6)]
|
||||
assert_equal(status_to, status_from)
|
||||
return status_to
|
||||
|
||||
def status_to():
|
||||
return [self.peer_info(1, i)['bip152_hb_to'] for i in range(2, 6)]
|
||||
|
||||
def status_from():
|
||||
return [self.peer_info(i, 1)['bip152_hb_from'] for i in range(2, 6)]
|
||||
|
||||
self.wait_until(lambda: status_to() == status_from())
|
||||
return status_to()
|
||||
|
||||
def run_test(self):
|
||||
self.log.info("Testing reserved high-bandwidth mode slot for outbound peer...")
|
||||
|
|
Loading…
Add table
Reference in a new issue