solana/ledger
steviez c834d2fc95
Prevent process_blockstore_from_root() from holding Bank for too long (#31179)
blockstore_processor::process_blockstore_from_root() starts with a
BankForks that contains exactly one Bank. The function grabs an Arc of
this initial Bank, and does some logging and initial setup before
processing more slots in load_frozen_forks().

process_blockstore_from_root() holds that Arc until it returns. This
increases the ref count and prevents the initial Bank from getting
cleaned up in a timely manner if load_frozen_forks() prunes that initial
Bank from BankForks.

This change extracts the needed information from the Arc<Bank>, and
drops the Arc so that the Bank can be dropped in a timely manner.
2023-04-13 04:10:26 +00:00
..
benches removes lazy-static thread-pool from sigverify-shreds (#30787) 2023-03-20 20:33:22 +00:00
src Prevent process_blockstore_from_root() from holding Bank for too long (#31179) 2023-04-13 04:10:26 +00:00
tests fix typo in shred.rs (#29149) 2022-12-15 01:14:39 -06:00
.gitignore
Cargo.toml ledger: confirm_slot_entries(): confirmation_elapsed metric (#30807) 2023-03-29 13:11:29 -07:00
build.rs