Skip to content

Commit 4449627

Browse files
authored
Dedup parent blob requests (#5432)
* de dup parent blob requests * add new line
1 parent eab3672 commit 4449627

File tree

2 files changed

+39
-1
lines changed

2 files changed

+39
-1
lines changed

beacon_node/network/src/sync/block_lookups/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,7 @@ impl<T: BeaconChainTypes> BlockLookups<T> {
217217
// Make sure this block is not already downloaded, and that neither it or its parent is
218218
// being searched for.
219219
if let Some(parent_lookup) = self.parent_lookups.iter_mut().find(|parent_req| {
220-
parent_req.contains_block(&block_root) || parent_req.is_for_block(block_root)
220+
parent_req.contains_block(&parent_root) || parent_req.is_for_block(parent_root)
221221
}) {
222222
parent_lookup.add_peer(peer_id);
223223
// we are already searching for this block, ignore it

beacon_node/network/src/sync/block_lookups/tests.rs

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1625,6 +1625,16 @@ mod deneb_only {
16251625
self.rig.expect_block_process(ResponseType::Block);
16261626
self
16271627
}
1628+
fn search_parent_dup(mut self) -> Self {
1629+
self.bl.search_parent(
1630+
self.slot,
1631+
self.block_root,
1632+
self.block.parent_root(),
1633+
self.peer_id,
1634+
&mut self.cx,
1635+
);
1636+
self
1637+
}
16281638
}
16291639

16301640
fn get_fork_name() -> ForkName {
@@ -2088,4 +2098,32 @@ mod deneb_only {
20882098
.expect_no_penalty()
20892099
.expect_block_process();
20902100
}
2101+
2102+
#[test]
2103+
fn unknown_parent_block_dup() {
2104+
let Some(tester) =
2105+
DenebTester::new(RequestTrigger::GossipUnknownParentBlock { num_parents: 1 })
2106+
else {
2107+
return;
2108+
};
2109+
2110+
tester
2111+
.search_parent_dup()
2112+
.expect_no_blobs_request()
2113+
.expect_no_block_request();
2114+
}
2115+
2116+
#[test]
2117+
fn unknown_parent_blob_dup() {
2118+
let Some(tester) =
2119+
DenebTester::new(RequestTrigger::GossipUnknownParentBlob { num_parents: 1 })
2120+
else {
2121+
return;
2122+
};
2123+
2124+
tester
2125+
.search_parent_dup()
2126+
.expect_no_blobs_request()
2127+
.expect_no_block_request();
2128+
}
20912129
}

0 commit comments

Comments
 (0)