Only get Blockstore::last_root once (#16362)

This commit is contained in:
Tyera Eulberg 2021-04-04 22:14:02 -06:00 committed by GitHub
parent a98467b563
commit b8b6777262
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 4 additions and 2 deletions

View File

@ -2053,9 +2053,10 @@ impl Blockstore {
"blockstore-rpc-api",
("method", "get_complete_transaction".to_string(), String)
);
let last_root = self.last_root();
let confirmed_unrooted_slots: Vec<_> =
AncestorIterator::new_inclusive(highest_confirmed_slot, self)
.take_while(|&slot| slot > self.last_root())
.take_while(|&slot| slot > last_root)
.collect();
self.get_transaction_with_status(signature, &confirmed_unrooted_slots)
}
@ -2213,8 +2214,9 @@ impl Blockstore {
String
)
);
let last_root = self.last_root();
let confirmed_unrooted_slots: Vec<_> = AncestorIterator::new_inclusive(highest_slot, self)
.take_while(|&slot| slot > self.last_root())
.take_while(|&slot| slot > last_root)
.collect();
// Figure the `slot` to start listing signatures at, based on the ledger location of the