From 093b5b52674f8ef5cb9d725ff3d95ff249c5d59d Mon Sep 17 00:00:00 2001 From: sakridge Date: Wed, 25 Sep 2019 11:16:14 -0700 Subject: [PATCH] Prune fork_hashes with dead forks (#6085) --- runtime/src/accounts_db.rs | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/runtime/src/accounts_db.rs b/runtime/src/accounts_db.rs index 1bb8015c1b..96c292922d 100644 --- a/runtime/src/accounts_db.rs +++ b/runtime/src/accounts_db.rs @@ -902,9 +902,17 @@ impl AccountsDB { // a fork is not totally dead until it is older than the root dead_forks.retain(|fork| *fork < last_root); if !dead_forks.is_empty() { - let mut index = self.accounts_index.write().unwrap(); - for fork in dead_forks.iter() { - index.cleanup_dead_fork(*fork); + { + let mut index = self.accounts_index.write().unwrap(); + for fork in dead_forks.iter() { + index.cleanup_dead_fork(*fork); + } + } + { + let mut fork_hashes = self.fork_hashes.write().unwrap(); + for fork in dead_forks.iter() { + fork_hashes.remove(fork); + } } } }