pass 'enable_rehashing' through all accounts hash functions (#27701)
This commit is contained in:
parent
ac74fc16b6
commit
d242c0fc97
|
@ -125,6 +125,7 @@ fn main() {
|
|||
&ancestors,
|
||||
&EpochSchedule::default(),
|
||||
&RentCollector::default(),
|
||||
true,
|
||||
);
|
||||
time.stop();
|
||||
let mut time_store = Measure::start("hash using store");
|
||||
|
@ -138,6 +139,7 @@ fn main() {
|
|||
&EpochSchedule::default(),
|
||||
&RentCollector::default(),
|
||||
false,
|
||||
true,
|
||||
);
|
||||
time_store.stop();
|
||||
if results != results_store {
|
||||
|
|
|
@ -99,6 +99,7 @@ fn test_accounts_hash_bank_hash(bencher: &mut Bencher) {
|
|||
&ancestors,
|
||||
&EpochSchedule::default(),
|
||||
&RentCollector::default(),
|
||||
true,
|
||||
);
|
||||
let test_hash_calculation = false;
|
||||
bencher.iter(|| {
|
||||
|
@ -135,6 +136,7 @@ fn test_update_accounts_hash(bencher: &mut Bencher) {
|
|||
&ancestors,
|
||||
&EpochSchedule::default(),
|
||||
&RentCollector::default(),
|
||||
true,
|
||||
);
|
||||
});
|
||||
}
|
||||
|
|
|
@ -816,6 +816,7 @@ impl Accounts {
|
|||
epoch_schedule,
|
||||
rent_collector,
|
||||
is_startup,
|
||||
true,
|
||||
)
|
||||
.1
|
||||
}
|
||||
|
@ -845,6 +846,7 @@ impl Accounts {
|
|||
can_cached_slot_be_unflushed,
|
||||
ignore_mismatch,
|
||||
store_detailed_debug_info,
|
||||
true,
|
||||
) {
|
||||
warn!("verify_bank_hash failed: {:?}, slot: {}", err, slot);
|
||||
false
|
||||
|
|
|
@ -6602,6 +6602,7 @@ impl AccountsDb {
|
|||
ancestors: &Ancestors,
|
||||
epoch_schedule: &EpochSchedule,
|
||||
rent_collector: &RentCollector,
|
||||
enable_rehashing: bool,
|
||||
) -> (Hash, u64) {
|
||||
self.update_accounts_hash_with_index_option(
|
||||
true,
|
||||
|
@ -6613,6 +6614,7 @@ impl AccountsDb {
|
|||
epoch_schedule,
|
||||
rent_collector,
|
||||
false,
|
||||
enable_rehashing,
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -6628,6 +6630,7 @@ impl AccountsDb {
|
|||
&EpochSchedule::default(),
|
||||
&RentCollector::default(),
|
||||
false,
|
||||
true,
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -7053,6 +7056,7 @@ impl AccountsDb {
|
|||
epoch_schedule: &EpochSchedule,
|
||||
rent_collector: &RentCollector,
|
||||
is_startup: bool,
|
||||
enable_rehashing: bool,
|
||||
) -> (Hash, u64) {
|
||||
let check_hash = false;
|
||||
let (hash, total_lamports) = self
|
||||
|
@ -7069,7 +7073,7 @@ impl AccountsDb {
|
|||
rent_collector,
|
||||
store_detailed_debug_info_on_failure: false,
|
||||
full_snapshot: None,
|
||||
enable_rehashing: true,
|
||||
enable_rehashing,
|
||||
},
|
||||
expected_capitalization,
|
||||
)
|
||||
|
@ -7320,6 +7324,7 @@ impl AccountsDb {
|
|||
epoch_schedule: &EpochSchedule,
|
||||
rent_collector: &RentCollector,
|
||||
can_cached_slot_be_unflushed: bool,
|
||||
enable_rehashing: bool,
|
||||
) -> Result<(), BankHashVerificationError> {
|
||||
self.verify_bank_hash_and_lamports_new(
|
||||
slot,
|
||||
|
@ -7331,6 +7336,7 @@ impl AccountsDb {
|
|||
can_cached_slot_be_unflushed,
|
||||
false,
|
||||
false,
|
||||
enable_rehashing,
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -7347,6 +7353,7 @@ impl AccountsDb {
|
|||
can_cached_slot_be_unflushed: bool,
|
||||
ignore_mismatch: bool,
|
||||
store_hash_raw_data_for_debug: bool,
|
||||
enable_rehashing: bool,
|
||||
) -> Result<(), BankHashVerificationError> {
|
||||
use BankHashVerificationError::*;
|
||||
|
||||
|
@ -7368,7 +7375,7 @@ impl AccountsDb {
|
|||
rent_collector,
|
||||
store_detailed_debug_info_on_failure: store_hash_raw_data_for_debug,
|
||||
full_snapshot: None,
|
||||
enable_rehashing: true,
|
||||
enable_rehashing,
|
||||
},
|
||||
None,
|
||||
)?;
|
||||
|
@ -11368,13 +11375,15 @@ pub mod tests {
|
|||
latest_slot,
|
||||
&ancestors,
|
||||
&EpochSchedule::default(),
|
||||
&RentCollector::default()
|
||||
&RentCollector::default(),
|
||||
true,
|
||||
),
|
||||
accounts.update_accounts_hash(
|
||||
latest_slot,
|
||||
&ancestors,
|
||||
&EpochSchedule::default(),
|
||||
&RentCollector::default()
|
||||
&RentCollector::default(),
|
||||
true,
|
||||
)
|
||||
);
|
||||
}
|
||||
|
@ -11658,6 +11667,7 @@ pub mod tests {
|
|||
&Ancestors::default(),
|
||||
&EpochSchedule::default(),
|
||||
&RentCollector::default(),
|
||||
true,
|
||||
);
|
||||
|
||||
let accounts = f(accounts, current_slot);
|
||||
|
@ -11678,6 +11688,7 @@ pub mod tests {
|
|||
&EpochSchedule::default(),
|
||||
&RentCollector::default(),
|
||||
false,
|
||||
true,
|
||||
)
|
||||
.unwrap();
|
||||
}
|
||||
|
@ -12083,6 +12094,7 @@ pub mod tests {
|
|||
&EpochSchedule::default(),
|
||||
&RentCollector::default(),
|
||||
false,
|
||||
true,
|
||||
),
|
||||
Ok(_)
|
||||
);
|
||||
|
@ -12097,6 +12109,7 @@ pub mod tests {
|
|||
&EpochSchedule::default(),
|
||||
&RentCollector::default(),
|
||||
false,
|
||||
true,
|
||||
),
|
||||
Err(MissingBankHash)
|
||||
);
|
||||
|
@ -12120,6 +12133,7 @@ pub mod tests {
|
|||
&EpochSchedule::default(),
|
||||
&RentCollector::default(),
|
||||
false,
|
||||
true,
|
||||
),
|
||||
Err(MismatchedBankHash)
|
||||
);
|
||||
|
@ -12148,7 +12162,8 @@ pub mod tests {
|
|||
true,
|
||||
&EpochSchedule::default(),
|
||||
&RentCollector::default(),
|
||||
false
|
||||
false,
|
||||
true,
|
||||
),
|
||||
Ok(_)
|
||||
);
|
||||
|
@ -12170,13 +12185,14 @@ pub mod tests {
|
|||
true,
|
||||
&EpochSchedule::default(),
|
||||
&RentCollector::default(),
|
||||
false
|
||||
false,
|
||||
true,
|
||||
),
|
||||
Ok(_)
|
||||
);
|
||||
|
||||
assert_matches!(
|
||||
db.verify_bank_hash_and_lamports(some_slot, &ancestors, 10, true, &EpochSchedule::default(), &RentCollector::default(), false),
|
||||
db.verify_bank_hash_and_lamports(some_slot, &ancestors, 10, true, &EpochSchedule::default(), &RentCollector::default(), false, true,),
|
||||
Err(MismatchedTotalLamports(expected, actual)) if expected == 2 && actual == 10
|
||||
);
|
||||
}
|
||||
|
@ -12203,7 +12219,8 @@ pub mod tests {
|
|||
true,
|
||||
&EpochSchedule::default(),
|
||||
&RentCollector::default(),
|
||||
false
|
||||
false,
|
||||
true,
|
||||
),
|
||||
Ok(_)
|
||||
);
|
||||
|
@ -12247,7 +12264,8 @@ pub mod tests {
|
|||
true,
|
||||
&EpochSchedule::default(),
|
||||
&RentCollector::default(),
|
||||
false
|
||||
false,
|
||||
true,
|
||||
),
|
||||
Err(MismatchedBankHash)
|
||||
);
|
||||
|
@ -12857,6 +12875,7 @@ pub mod tests {
|
|||
&no_ancestors,
|
||||
&EpochSchedule::default(),
|
||||
&RentCollector::default(),
|
||||
true,
|
||||
);
|
||||
accounts
|
||||
.verify_bank_hash_and_lamports(
|
||||
|
@ -12867,6 +12886,7 @@ pub mod tests {
|
|||
&EpochSchedule::default(),
|
||||
&RentCollector::default(),
|
||||
false,
|
||||
true,
|
||||
)
|
||||
.unwrap();
|
||||
|
||||
|
@ -12880,6 +12900,7 @@ pub mod tests {
|
|||
&EpochSchedule::default(),
|
||||
&RentCollector::default(),
|
||||
false,
|
||||
true,
|
||||
)
|
||||
.unwrap();
|
||||
|
||||
|
|
|
@ -7170,6 +7170,7 @@ impl Bank {
|
|||
self.epoch_schedule(),
|
||||
&self.rent_collector,
|
||||
is_startup,
|
||||
true,
|
||||
);
|
||||
if total_lamports != self.capitalization() {
|
||||
datapoint_info!(
|
||||
|
@ -7196,6 +7197,7 @@ impl Bank {
|
|||
self.epoch_schedule(),
|
||||
&self.rent_collector,
|
||||
is_startup,
|
||||
true,
|
||||
);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue