solana-labs/solana
在 GitHub 查看Balances are collected for transactions within a TransactionBatch that aren't locked or executed
Open
#32,346 创建于 2023年6月30日
communityenhancementgood first issuevalidator
描述
Problem
When collecting balances before and after execution in BankingStage, the balances for transactions within a TransactionBatch that didn't execute still get collected even though the state didn't change.
There is likely a slight performance hit for doing this, especially with batches that contain many transactions that failed to lock.
Proposed Solution
When collecting pre-balances, check the lock results and only collect pre-balances for transactions that lock successfully. When collecting post-balances, check the execution results and only collect post-balances for transactions that executed.