BankingStage Refactor: Committer Simplify (#29958)
This commit is contained in:
parent
232e252014
commit
c549129974
|
@ -988,13 +988,11 @@ impl BankingStage {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
let sanitized_txs = batch.sanitized_transactions();
|
|
||||||
let (commit_time_us, commit_transaction_statuses) = if executed_transactions_count != 0 {
|
let (commit_time_us, commit_transaction_statuses) = if executed_transactions_count != 0 {
|
||||||
Committer::commit_transactions(
|
Committer::commit_transactions(
|
||||||
batch,
|
batch,
|
||||||
&mut loaded_transactions,
|
&mut loaded_transactions,
|
||||||
execution_results,
|
execution_results,
|
||||||
sanitized_txs,
|
|
||||||
starting_transaction_index,
|
starting_transaction_index,
|
||||||
bank,
|
bank,
|
||||||
&mut pre_balance_info,
|
&mut pre_balance_info,
|
||||||
|
@ -1021,7 +1019,7 @@ impl BankingStage {
|
||||||
load_execute_time.as_us(),
|
load_execute_time.as_us(),
|
||||||
record_time.as_us(),
|
record_time.as_us(),
|
||||||
commit_time_us,
|
commit_time_us,
|
||||||
sanitized_txs.len(),
|
batch.sanitized_transactions().len(),
|
||||||
);
|
);
|
||||||
|
|
||||||
debug!(
|
debug!(
|
||||||
|
|
|
@ -4,7 +4,7 @@ use {
|
||||||
solana_ledger::{
|
solana_ledger::{
|
||||||
blockstore_processor::TransactionStatusSender, token_balances::collect_token_balances,
|
blockstore_processor::TransactionStatusSender, token_balances::collect_token_balances,
|
||||||
},
|
},
|
||||||
solana_measure::measure,
|
solana_measure::{measure, measure_us},
|
||||||
solana_runtime::{
|
solana_runtime::{
|
||||||
accounts::TransactionLoadResult,
|
accounts::TransactionLoadResult,
|
||||||
bank::{
|
bank::{
|
||||||
|
@ -15,7 +15,7 @@ use {
|
||||||
transaction_batch::TransactionBatch,
|
transaction_batch::TransactionBatch,
|
||||||
vote_sender_types::ReplayVoteSender,
|
vote_sender_types::ReplayVoteSender,
|
||||||
},
|
},
|
||||||
solana_sdk::{saturating_add_assign, transaction::SanitizedTransaction},
|
solana_sdk::saturating_add_assign,
|
||||||
solana_transaction_status::token_balances::TransactionTokenBalancesSet,
|
solana_transaction_status::token_balances::TransactionTokenBalancesSet,
|
||||||
std::sync::Arc,
|
std::sync::Arc,
|
||||||
};
|
};
|
||||||
|
@ -34,7 +34,6 @@ impl Committer {
|
||||||
batch: &TransactionBatch,
|
batch: &TransactionBatch,
|
||||||
loaded_transactions: &mut [TransactionLoadResult],
|
loaded_transactions: &mut [TransactionLoadResult],
|
||||||
execution_results: Vec<TransactionExecutionResult>,
|
execution_results: Vec<TransactionExecutionResult>,
|
||||||
sanitized_txs: &[SanitizedTransaction],
|
|
||||||
starting_transaction_index: Option<usize>,
|
starting_transaction_index: Option<usize>,
|
||||||
bank: &Arc<Bank>,
|
bank: &Arc<Bank>,
|
||||||
pre_balance_info: &mut PreBalanceInfo,
|
pre_balance_info: &mut PreBalanceInfo,
|
||||||
|
@ -54,27 +53,22 @@ impl Committer {
|
||||||
let (last_blockhash, lamports_per_signature) =
|
let (last_blockhash, lamports_per_signature) =
|
||||||
bank.last_blockhash_and_lamports_per_signature();
|
bank.last_blockhash_and_lamports_per_signature();
|
||||||
|
|
||||||
let (tx_results, commit_time) = measure!(
|
let (tx_results, commit_time_us) = measure_us!(bank.commit_transactions(
|
||||||
bank.commit_transactions(
|
batch.sanitized_transactions(),
|
||||||
sanitized_txs,
|
loaded_transactions,
|
||||||
loaded_transactions,
|
execution_results,
|
||||||
execution_results,
|
last_blockhash,
|
||||||
last_blockhash,
|
lamports_per_signature,
|
||||||
lamports_per_signature,
|
CommitTransactionCounts {
|
||||||
CommitTransactionCounts {
|
committed_transactions_count: executed_transactions_count as u64,
|
||||||
committed_transactions_count: executed_transactions_count as u64,
|
committed_non_vote_transactions_count: executed_non_vote_transactions_count as u64,
|
||||||
committed_non_vote_transactions_count: executed_non_vote_transactions_count
|
committed_with_failure_result_count: executed_transactions_count
|
||||||
as u64,
|
.saturating_sub(executed_with_successful_result_count)
|
||||||
committed_with_failure_result_count: executed_transactions_count
|
as u64,
|
||||||
.saturating_sub(executed_with_successful_result_count)
|
signature_count,
|
||||||
as u64,
|
},
|
||||||
signature_count,
|
&mut execute_and_commit_timings.execute_timings,
|
||||||
},
|
));
|
||||||
&mut execute_and_commit_timings.execute_timings,
|
|
||||||
),
|
|
||||||
"commit",
|
|
||||||
);
|
|
||||||
let commit_time_us = commit_time.as_us();
|
|
||||||
execute_and_commit_timings.commit_us = commit_time_us;
|
execute_and_commit_timings.commit_us = commit_time_us;
|
||||||
|
|
||||||
let commit_transaction_statuses = tx_results
|
let commit_transaction_statuses = tx_results
|
||||||
|
@ -88,25 +82,22 @@ impl Committer {
|
||||||
})
|
})
|
||||||
.collect();
|
.collect();
|
||||||
|
|
||||||
let (_, find_and_send_votes_time) = measure!(
|
let ((), find_and_send_votes_us) = measure_us!({
|
||||||
{
|
bank_utils::find_and_send_votes(
|
||||||
bank_utils::find_and_send_votes(
|
batch.sanitized_transactions(),
|
||||||
sanitized_txs,
|
&tx_results,
|
||||||
&tx_results,
|
Some(replay_vote_sender),
|
||||||
Some(replay_vote_sender),
|
);
|
||||||
);
|
Self::collect_balances_and_send_status_batch(
|
||||||
Self::collect_balances_and_send_status_batch(
|
transaction_status_sender,
|
||||||
transaction_status_sender,
|
tx_results,
|
||||||
tx_results,
|
bank,
|
||||||
bank,
|
batch,
|
||||||
batch,
|
pre_balance_info,
|
||||||
pre_balance_info,
|
starting_transaction_index,
|
||||||
starting_transaction_index,
|
);
|
||||||
);
|
});
|
||||||
},
|
execute_and_commit_timings.find_and_send_votes_us = find_and_send_votes_us;
|
||||||
"find_and_send_votes",
|
|
||||||
);
|
|
||||||
execute_and_commit_timings.find_and_send_votes_us = find_and_send_votes_time.as_us();
|
|
||||||
(commit_time_us, commit_transaction_statuses)
|
(commit_time_us, commit_transaction_statuses)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue