From 544fbded078284fda0532cfe0c78481502372572 Mon Sep 17 00:00:00 2001 From: behzad nouri Date: Wed, 8 Feb 2023 17:29:30 +0000 Subject: [PATCH] removes wallclock from duplicate-shreds handler (#30187) --- gossip/src/cluster_info.rs | 1 - gossip/src/duplicate_shred.rs | 3 +++ gossip/src/duplicate_shred_handler.rs | 13 ++++--------- 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/gossip/src/cluster_info.rs b/gossip/src/cluster_info.rs index 8db9e5914..e372cfe1f 100644 --- a/gossip/src/cluster_info.rs +++ b/gossip/src/cluster_info.rs @@ -1203,7 +1203,6 @@ impl ClusterInfo { } /// Returns duplicate-shreds inserted since the given cursor. - #[allow(dead_code)] pub(crate) fn get_duplicate_shreds(&self, cursor: &mut Cursor) -> Vec { let gossip_crds = self.gossip.crds.read().unwrap(); gossip_crds diff --git a/gossip/src/duplicate_shred.rs b/gossip/src/duplicate_shred.rs index fcecdca31..e78114eb9 100644 --- a/gossip/src/duplicate_shred.rs +++ b/gossip/src/duplicate_shred.rs @@ -43,9 +43,12 @@ pub struct DuplicateShred { } impl DuplicateShred { + #[inline] pub(crate) fn num_chunks(&self) -> u8 { self.num_chunks } + + #[inline] pub(crate) fn chunk_index(&self) -> u8 { self.chunk_index } diff --git a/gossip/src/duplicate_shred_handler.rs b/gossip/src/duplicate_shred_handler.rs index 37facc9dc..8edcadc37 100644 --- a/gossip/src/duplicate_shred_handler.rs +++ b/gossip/src/duplicate_shred_handler.rs @@ -31,16 +31,14 @@ const MAX_PUBKEY_PER_SLOT: usize = 300; struct ProofChunkMap { num_chunks: u8, - wallclock: u64, chunks: [Option; MAX_NUM_CHUNKS], } impl ProofChunkMap { - fn new(num_chunks: u8, wallclock: u64) -> Self { + fn new(num_chunks: u8) -> Self { Self { num_chunks, chunks: <[Option; MAX_NUM_CHUNKS]>::default(), - wallclock, } } } @@ -171,10 +169,7 @@ impl DuplicateShredHandler { // Also skip frozen slots or slots with a different proof than me. match self.chunk_map.get(&slot) { Some(SlotStatus::Frozen) => false, - Some(SlotStatus::UnfinishedProof(slot_map)) => match slot_map.get(&data.from) { - None => true, - Some(proof_chunkmap) => proof_chunkmap.wallclock == data.wallclock, - }, + Some(SlotStatus::UnfinishedProof(_)) => true, None => true, } } @@ -211,7 +206,7 @@ impl DuplicateShredHandler { }; let proof_chunk_map = slot_chunk_map .entry(data.from) - .or_insert_with(|| ProofChunkMap::new(data.num_chunks(), data.wallclock)); + .or_insert_with(|| ProofChunkMap::new(data.num_chunks())); if data.num_chunks() != proof_chunk_map.num_chunks || data.chunk_index() >= proof_chunk_map.num_chunks { @@ -468,7 +463,7 @@ mod tests { None, start_slot, None, - DUPLICATE_SHRED_MAX_PAYLOAD_SIZE, + DUPLICATE_SHRED_MAX_PAYLOAD_SIZE * 2, ) .unwrap(); for chunk in chunks1 {