Flush accounts cache before calling clean_accounts() (#19839)

This commit is contained in:
Brooks Prumo 2021-09-13 14:56:13 -05:00 committed by GitHub
parent d39e90d3d7
commit ef749a2506
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 0 deletions

View File

@ -1194,6 +1194,7 @@ fn load_frozen_forks(
) {
info!("Taking snapshot of new root bank that has crossed the full snapshot interval! slot: {}", *root);
*last_full_snapshot_slot = Some(*root);
new_root_bank.force_flush_accounts_cache();
new_root_bank.clean_accounts(true, true, *last_full_snapshot_slot);
new_root_bank.update_accounts_hash_with_index_option(
snapshot_config.accounts_hash_use_index,

View File

@ -2009,6 +2009,12 @@ impl AccountsDb {
} else {
let mut key_set = HashSet::new();
key_set.insert(*key);
assert!(
!account_info.is_cached(),
"The Accounts Cache must be flushed first for this account info. pubkey: {}, slot: {}",
*key,
*slot
);
let count = self
.storage
.slot_store_count(*slot, account_info.store_id)