From 1e8e024ec52a7b9daf48d9cc2d5b64e9182d9589 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20Mei=C3=9Fner?= Date: Tue, 23 May 2023 18:20:38 +0200 Subject: [PATCH] Cleanup - disable_fee_calculator (#31766) disable_fee_calculator --- runtime/src/bank.rs | 36 ++++------------------------- runtime/src/serde_snapshot/tests.rs | 12 ++++------ 2 files changed, 10 insertions(+), 38 deletions(-) diff --git a/runtime/src/bank.rs b/runtime/src/bank.rs index 0854575bf..12c259743 100644 --- a/runtime/src/bank.rs +++ b/runtime/src/bank.rs @@ -123,7 +123,7 @@ use { epoch_schedule::EpochSchedule, feature, feature_set::{ - self, add_set_tx_loaded_accounts_data_size_instruction, disable_fee_calculator, + self, add_set_tx_loaded_accounts_data_size_instruction, enable_early_verification_of_account_modifications, enable_request_heap_frame_ix, include_loaded_accounts_data_size_in_fee_calculation, remove_congestion_multiplier_from_fee_calculation, remove_deprecated_request_unit_ix, @@ -766,7 +766,6 @@ impl PartialEq for Bank { block_height, collector_id, collector_fees, - fee_calculator, fee_rate_governor, collected_rent, rent_collector, @@ -824,7 +823,6 @@ impl PartialEq for Bank { && block_height == &other.block_height && collector_id == &other.collector_id && collector_fees.load(Relaxed) == other.collector_fees.load(Relaxed) - && fee_calculator == &other.fee_calculator && fee_rate_governor == &other.fee_rate_governor && collected_rent.load(Relaxed) == other.collected_rent.load(Relaxed) && rent_collector == &other.rent_collector @@ -986,10 +984,6 @@ pub struct Bank { /// Fees that have been collected collector_fees: AtomicU64, - /// Deprecated, do not use - /// Latest transaction fees for transactions processed by this bank - pub(crate) fee_calculator: FeeCalculator, - /// Track cluster signature throughput and adjust fee rate pub(crate) fee_rate_governor: FeeRateGovernor, @@ -1267,7 +1261,6 @@ impl Bank { block_height: u64::default(), collector_id: Pubkey::default(), collector_fees: AtomicU64::default(), - fee_calculator: FeeCalculator::default(), fee_rate_governor: FeeRateGovernor::default(), collected_rent: AtomicU64::default(), rent_collector: RentCollector::default(), @@ -1469,17 +1462,9 @@ impl Bank { let (status_cache, status_cache_time_us) = measure_us!(Arc::clone(&parent.status_cache)); - let ((fee_rate_governor, fee_calculator), fee_components_time_us) = measure_us!({ - let fee_rate_governor = - FeeRateGovernor::new_derived(&parent.fee_rate_governor, parent.signature_count()); - - let fee_calculator = if parent.feature_set.is_active(&disable_fee_calculator::id()) { - FeeCalculator::default() - } else { - fee_rate_governor.create_fee_calculator() - }; - (fee_rate_governor, fee_calculator) - }); + let (fee_rate_governor, fee_components_time_us) = measure_us!( + FeeRateGovernor::new_derived(&parent.fee_rate_governor, parent.signature_count()) + ); let bank_id = rc.bank_id_generator.fetch_add(1, Relaxed) + 1; let (blockhash_queue, blockhash_queue_time_us) = @@ -1527,7 +1512,6 @@ impl Bank { rent_collector: Self::get_rent_collector_from(&parent.rent_collector, epoch), max_tick_height: (slot + 1) * parent.ticks_per_slot, block_height: parent.block_height + 1, - fee_calculator, fee_rate_governor, capitalization: AtomicU64::new(parent.capitalization()), vote_only_bank, @@ -1883,7 +1867,6 @@ impl Bank { block_height: fields.block_height, collector_id: fields.collector_id, collector_fees: AtomicU64::new(fields.collector_fees), - fee_calculator: fields.fee_calculator, fee_rate_governor: fields.fee_rate_governor, collected_rent: AtomicU64::new(fields.collected_rent), // clone()-ing is needed to consider a gated behavior in rent_collector @@ -1951,14 +1934,6 @@ impl Bank { ); assert_eq!(bank.epoch_schedule, genesis_config.epoch_schedule); assert_eq!(bank.epoch, bank.epoch_schedule.get_epoch(bank.slot)); - if !bank.feature_set.is_active(&disable_fee_calculator::id()) { - bank.fee_rate_governor.lamports_per_signature = - bank.fee_calculator.lamports_per_signature; - assert_eq!( - bank.fee_rate_governor.create_fee_calculator(), - bank.fee_calculator - ); - } datapoint_info!( "bank-new-from-fields", @@ -2008,7 +1983,7 @@ impl Bank { block_height: self.block_height, collector_id: self.collector_id, collector_fees: self.collector_fees.load(Relaxed), - fee_calculator: self.fee_calculator, + fee_calculator: FeeCalculator::default(), fee_rate_governor: self.fee_rate_governor.clone(), collected_rent: self.collected_rent.load(Relaxed), rent_collector: self.rent_collector.clone(), @@ -3301,7 +3276,6 @@ impl Bank { fn process_genesis_config(&mut self, genesis_config: &GenesisConfig) { // Bootstrap validator collects fees until `new_from_parent` is called. self.fee_rate_governor = genesis_config.fee_rate_governor.clone(); - self.fee_calculator = self.fee_rate_governor.create_fee_calculator(); for (pubkey, account) in genesis_config.accounts.iter() { assert!( diff --git a/runtime/src/serde_snapshot/tests.rs b/runtime/src/serde_snapshot/tests.rs index 724ba59ba..cf80616eb 100644 --- a/runtime/src/serde_snapshot/tests.rs +++ b/runtime/src/serde_snapshot/tests.rs @@ -12,7 +12,7 @@ use { accounts_hash::{AccountsDeltaHash, AccountsHash}, bank::{Bank, BankTestConfig}, epoch_accounts_hash, - genesis_utils::{self, activate_all_features, activate_feature}, + genesis_utils::{activate_all_features, activate_feature}, snapshot_utils::{ create_tmp_accounts_dir_for_tests, get_storages_to_serialize, ArchiveFormat, }, @@ -23,7 +23,7 @@ use { solana_sdk::{ account::{AccountSharedData, ReadableAccount}, clock::Slot, - feature_set::{self, disable_fee_calculator}, + feature_set, genesis_config::{create_genesis_config, ClusterType}, hash::Hash, pubkey::Pubkey, @@ -236,7 +236,7 @@ fn test_bank_serialize_style( ) { solana_logger::setup(); let (mut genesis_config, _) = create_genesis_config(500); - genesis_utils::activate_feature(&mut genesis_config, feature_set::epoch_accounts_hash::id()); + activate_feature(&mut genesis_config, feature_set::epoch_accounts_hash::id()); genesis_config.epoch_schedule = EpochSchedule::custom(400, 400, false); let bank0 = Arc::new(Bank::new_for_tests(&genesis_config)); let eah_start_slot = epoch_accounts_hash::calculation_start(&bank0); @@ -509,8 +509,7 @@ fn add_root_and_flush_write_cache(bank: &Bank) { #[test] fn test_extra_fields_eof() { solana_logger::setup(); - let (mut genesis_config, _) = create_genesis_config(500); - activate_feature(&mut genesis_config, disable_fee_calculator::id()); + let (genesis_config, _) = create_genesis_config(500); let bank0 = Arc::new(Bank::new_for_tests_with_config( &genesis_config, @@ -646,8 +645,7 @@ fn test_extra_fields_full_snapshot_archive() { #[test] fn test_blank_extra_fields() { solana_logger::setup(); - let (mut genesis_config, _) = create_genesis_config(500); - activate_feature(&mut genesis_config, disable_fee_calculator::id()); + let (genesis_config, _) = create_genesis_config(500); let bank0 = Arc::new(Bank::new_for_tests_with_config( &genesis_config,