v1.1: backport commitment max changes (#9775) (#9778)

automerge
This commit is contained in:
mergify[bot]
2020-04-28 16:42:08 -07:00
committed by GitHub
parent f65caa66bf
commit dbaff495c8
16 changed files with 503 additions and 140 deletions

View File

@@ -165,6 +165,7 @@ impl BankForks {
&mut self,
root: Slot,
snapshot_package_sender: &Option<SnapshotPackageSender>,
largest_confirmed_root: Option<Slot>,
) {
self.root = root;
let set_root_start = Instant::now();
@@ -205,7 +206,7 @@ impl BankForks {
}
}
self.prune_non_root(root);
self.prune_non_root(root, largest_confirmed_root);
inc_new_counter_info!(
"bank-forks_set_root_ms",
@@ -276,10 +277,19 @@ impl BankForks {
Ok(())
}
fn prune_non_root(&mut self, root: Slot) {
fn prune_non_root(&mut self, root: Slot, largest_confirmed_root: Option<Slot>) {
let descendants = self.descendants();
self.banks
.retain(|slot, _| slot == &root || descendants[&root].contains(slot));
self.banks.retain(|slot, _| {
*slot == root
|| descendants[&root].contains(slot)
|| (*slot < root
&& *slot >= largest_confirmed_root.unwrap_or(root)
&& descendants[slot].contains(&root))
});
datapoint_debug!(
"bank_forks_purge_non_root",
("num_banks_retained", self.banks.len(), i64),
);
}
pub fn set_snapshot_config(&mut self, snapshot_config: Option<SnapshotConfig>) {