From fa8e1025f5f9fc827b2436a1544f943cd4f9411c Mon Sep 17 00:00:00 2001 From: Daniel Sanchez Date: Thu, 3 Aug 2023 12:25:33 +0200 Subject: [PATCH] Fix: genesis pruning in engine (#289) * Do not prune genesis * Fix retain condition --- consensus-engine/src/lib.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/consensus-engine/src/lib.rs b/consensus-engine/src/lib.rs index 371c8c26..5d6b8f1b 100644 --- a/consensus-engine/src/lib.rs +++ b/consensus-engine/src/lib.rs @@ -400,7 +400,10 @@ impl Carnot { /// Blocks newer than the last committed block are not safe to be pruned pub fn prune_older_blocks_by_view(&mut self, threshold_view: View) { assert!(threshold_view < self.latest_committed_block().view); - self.safe_blocks.retain(|_, b| b.view < threshold_view); + // do not remove genesis + let view_zero = View::new(0); + self.safe_blocks + .retain(|_, b| b.view > threshold_view && view_zero == b.view); } }