ledger-tool create-snapshot uses write cache (#29119)
* ledger-tool create-snapshot uses write cache * ledger tool create snapshot works with write cache
This commit is contained in:
parent
019f276a91
commit
2f4731570a
|
@ -3018,6 +3018,7 @@ fn main() {
|
||||||
&genesis_config,
|
&genesis_config,
|
||||||
&blockstore,
|
&blockstore,
|
||||||
ProcessOptions {
|
ProcessOptions {
|
||||||
|
accounts_db_caching_enabled: true,
|
||||||
new_hard_forks,
|
new_hard_forks,
|
||||||
halt_at_slot: Some(snapshot_slot),
|
halt_at_slot: Some(snapshot_slot),
|
||||||
poh_verify: false,
|
poh_verify: false,
|
||||||
|
|
|
@ -884,6 +884,7 @@ impl Accounts {
|
||||||
debug_verify: bool,
|
debug_verify: bool,
|
||||||
epoch_schedule: &EpochSchedule,
|
epoch_schedule: &EpochSchedule,
|
||||||
rent_collector: &RentCollector,
|
rent_collector: &RentCollector,
|
||||||
|
data_source: CalcAccountsHashDataSource,
|
||||||
) -> u64 {
|
) -> u64 {
|
||||||
let is_startup = true;
|
let is_startup = true;
|
||||||
self.accounts_db
|
self.accounts_db
|
||||||
|
@ -891,7 +892,7 @@ impl Accounts {
|
||||||
.wait_for_complete();
|
.wait_for_complete();
|
||||||
self.accounts_db
|
self.accounts_db
|
||||||
.update_accounts_hash(
|
.update_accounts_hash(
|
||||||
CalcAccountsHashDataSource::Storages,
|
data_source,
|
||||||
debug_verify,
|
debug_verify,
|
||||||
slot,
|
slot,
|
||||||
ancestors,
|
ancestors,
|
||||||
|
|
|
@ -7009,6 +7009,8 @@ impl Bank {
|
||||||
debug_verify,
|
debug_verify,
|
||||||
self.epoch_schedule(),
|
self.epoch_schedule(),
|
||||||
&self.rent_collector,
|
&self.rent_collector,
|
||||||
|
// we have to use the index since the slot could be in the write cache still
|
||||||
|
CalcAccountsHashDataSource::IndexForTests,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7031,7 +7033,10 @@ impl Bank {
|
||||||
/// This should only be used for developing purposes.
|
/// This should only be used for developing purposes.
|
||||||
pub fn set_capitalization(&self) -> u64 {
|
pub fn set_capitalization(&self) -> u64 {
|
||||||
let old = self.capitalization();
|
let old = self.capitalization();
|
||||||
let debug_verify = true;
|
// We cannot debug verify the hash calculation here becuase calculate_capitalization will use the index calculation due to callers using the write cache.
|
||||||
|
// debug_verify only exists as an extra debugging step under the assumption that this code path is only used for tests. But, this is used by ledger-tool create-snapshot
|
||||||
|
// for example.
|
||||||
|
let debug_verify = false;
|
||||||
self.capitalization
|
self.capitalization
|
||||||
.store(self.calculate_capitalization(debug_verify), Relaxed);
|
.store(self.calculate_capitalization(debug_verify), Relaxed);
|
||||||
old
|
old
|
||||||
|
|
Loading…
Reference in New Issue