diff --git a/beacon_node/beacon_chain/src/beacon_chain.rs b/beacon_node/beacon_chain/src/beacon_chain.rs index c2083dba61..f4021cbd12 100644 --- a/beacon_node/beacon_chain/src/beacon_chain.rs +++ b/beacon_node/beacon_chain/src/beacon_chain.rs @@ -4929,7 +4929,7 @@ impl BeaconChain { let cached_shuffling = CachedShuffling::new(committee_cache.clone(), ptcs); self.shuffling_cache .write() - .insert_committee_cache(shuffling_id, cached_shuffling)?; + .insert_committee_cache(shuffling_id, cached_shuffling); } } Ok(()) diff --git a/beacon_node/beacon_chain/src/errors.rs b/beacon_node/beacon_chain/src/errors.rs index 99ee82acb3..5efe9a3c23 100644 --- a/beacon_node/beacon_chain/src/errors.rs +++ b/beacon_node/beacon_chain/src/errors.rs @@ -135,9 +135,6 @@ pub enum BeaconChainError { state_epoch: Epoch, shuffling_epoch: Epoch, }, - MissingPtcForGloasShuffling { - shuffling_epoch: Epoch, - }, SyncDutiesError(BeaconStateError), InconsistentForwardsIter { request_slot: Slot, diff --git a/beacon_node/beacon_chain/src/shuffling_cache.rs b/beacon_node/beacon_chain/src/shuffling_cache.rs index 5d7e666748..59f4027726 100644 --- a/beacon_node/beacon_chain/src/shuffling_cache.rs +++ b/beacon_node/beacon_chain/src/shuffling_cache.rs @@ -209,18 +209,16 @@ impl ShufflingCache { &mut self, key: AttestationShufflingId, cached_shuffling: CachedShuffling, - ) -> Result<(), BeaconChainError> { + ) { match self.cache.get(&key) { Some(CacheItem::Committee(_)) => { // Calculation is deterministic, so no need to replace the existing entry. } - // Replace the committee if it's not present or if it's a promise. A bird in the hand is - // worth two in the promise-bush! + // A bird in the hand is worth two in the promise-bush! Some(CacheItem::Promise(_)) | None => { self.insert_cache_item(key, CacheItem::Committee(cached_shuffling)); } } - Ok(()) } /// Prunes the cache first before inserting a new cache item. @@ -444,7 +442,7 @@ where shuffling_cache_lock .write() - .insert_committee_cache(shuffling_id, cached_shuffling.clone())?; + .insert_committee_cache(shuffling_id, cached_shuffling.clone()); metrics::stop_timer(committee_building_timer); @@ -714,9 +712,7 @@ mod test { let mut cache = new_shuffling_cache(); let id_a = shuffling_id(1); let committee_cache_a = Arc::new(CommitteeCache::default()); - cache - .insert_committee_cache(id_a.clone(), cached_shuffling(committee_cache_a.clone())) - .unwrap(); + cache.insert_committee_cache(id_a.clone(), cached_shuffling(committee_cache_a.clone())); assert!( matches!(cache.get(&id_a).unwrap(), CacheItem::Committee(cached_shuffling) if cached_shuffling.committee_cache == committee_cache_a), "should insert committee cache" @@ -731,12 +727,10 @@ mod test { .collect::>(); for (shuffling_id, committee_cache) in shuffling_id_and_committee_caches.iter() { - cache - .insert_committee_cache( - shuffling_id.clone(), - cached_shuffling(committee_cache.clone()), - ) - .unwrap(); + cache.insert_committee_cache( + shuffling_id.clone(), + cached_shuffling(committee_cache.clone()), + ); } for i in 1..(TEST_CACHE_SIZE + 1) { @@ -769,9 +763,7 @@ mod test { shuffling_epoch: (current_epoch + 1).into(), shuffling_decision_block: Hash256::from_low_u64_be(current_epoch + i as u64), }; - cache - .insert_committee_cache(shuffling_id, cached_shuffling(committee_cache.clone())) - .unwrap(); + cache.insert_committee_cache(shuffling_id, cached_shuffling(committee_cache.clone())); } // Now, update the head shuffling ids @@ -784,24 +776,18 @@ mod test { cache.update_head_shuffling_ids(head_shuffling_ids.clone()); // Insert head state shuffling ids. Should not be overridden by other shuffling ids. - cache - .insert_committee_cache( - head_shuffling_ids.current.clone(), - cached_shuffling(committee_cache.clone()), - ) - .unwrap(); - cache - .insert_committee_cache( - head_shuffling_ids.next.clone(), - cached_shuffling(committee_cache.clone()), - ) - .unwrap(); - cache - .insert_committee_cache( - head_shuffling_ids.previous.clone().unwrap(), - cached_shuffling(committee_cache.clone()), - ) - .unwrap(); + cache.insert_committee_cache( + head_shuffling_ids.current.clone(), + cached_shuffling(committee_cache.clone()), + ); + cache.insert_committee_cache( + head_shuffling_ids.next.clone(), + cached_shuffling(committee_cache.clone()), + ); + cache.insert_committee_cache( + head_shuffling_ids.previous.clone().unwrap(), + cached_shuffling(committee_cache.clone()), + ); // Insert a few entries for older epochs. for i in 0..TEST_CACHE_SIZE { @@ -809,9 +795,7 @@ mod test { shuffling_epoch: Epoch::from(i), shuffling_decision_block: Hash256::from_low_u64_be(i as u64), }; - cache - .insert_committee_cache(shuffling_id, cached_shuffling(committee_cache.clone())) - .unwrap(); + cache.insert_committee_cache(shuffling_id, cached_shuffling(committee_cache.clone())); } assert!( diff --git a/beacon_node/beacon_chain/src/state_advance_timer.rs b/beacon_node/beacon_chain/src/state_advance_timer.rs index 4969b8df5f..d89722e3cd 100644 --- a/beacon_node/beacon_chain/src/state_advance_timer.rs +++ b/beacon_node/beacon_chain/src/state_advance_timer.rs @@ -415,7 +415,7 @@ fn advance_head(beacon_chain: &Arc>) -> Resu beacon_chain .shuffling_cache .write() - .insert_committee_cache(shuffling_id.clone(), cached_shuffling)?; + .insert_committee_cache(shuffling_id.clone(), cached_shuffling); debug!( ?head_block_root,