From 926debd18c1a71704f64946c06db01c8339a5baa Mon Sep 17 00:00:00 2001 From: Tao Zhu <82401714+taozhu-chicago@users.noreply.github.com> Date: Tue, 20 Dec 2022 14:05:46 -0600 Subject: [PATCH] exclude Vote transactions from updating min-fee-cache (#29341) --- runtime/src/prioritization_fee_cache.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/runtime/src/prioritization_fee_cache.rs b/runtime/src/prioritization_fee_cache.rs index 944f35e195..aa0017ec2c 100644 --- a/runtime/src/prioritization_fee_cache.rs +++ b/runtime/src/prioritization_fee_cache.rs @@ -198,7 +198,7 @@ impl PrioritizationFeeCache { } } - /// Update with a list of transactions' tx_priority_details and tx_account_locks; Only + /// Update with a list of non-vote transactions' tx_priority_details and tx_account_locks; Only /// transactions have both valid priority_detail and account_locks will be used to update /// fee_cache asynchronously. pub fn update<'a>(&self, bank: Arc, txs: impl Iterator) { @@ -206,6 +206,12 @@ impl PrioritizationFeeCache { let (_, send_updates_time) = measure!( { for sanitized_transaction in txs { + // Vote transactions are not prioritized, therefore they are excluded from + // updating fee_cache. + if sanitized_transaction.is_simple_vote_transaction() { + continue; + } + let priority_details = sanitized_transaction.get_transaction_priority_details(); let account_locks = sanitized_transaction .get_account_locks(bank.get_transaction_account_lock_limit());