solana/core/src
steviez 377ba53a31
Fix bug where ReplayStage holds an Arc<Bank> for process lifetime (#31267)
* Fix bug where ReplayStage holds an Arc<Bank> for process lifetime

When ReplayStage::new() kicks off, it needs to do some setup with the
working bank prior to entering the main processing loop. This setup is
done before entering the main processing loop; however, a bug made it
such that an Arc<Bank> remained in scope after the processing loop had
been entered. The processing loop is only exited when the process exits,
so this means that Bank was being held for the lifetime of the process.
This is a waste of resources and prevents background cleanup.

* clippy
2023-04-19 18:12:34 +00:00
..
banking_stage Forwarder: Add common setup for tests (#31232) 2023-04-19 09:08:13 -07:00
broadcast_stage Panic when shred index exceeds the max per slot (#30555) 2023-03-04 02:49:23 +01:00
snapshot_packager_service Refactors the Full/Incremental SnapshotHash types (#31186) 2023-04-13 18:01:27 -04:00
accounts_hash_verifier.rs Use Arc instead of &Arc in AccountsHashVerifier::new (#31269) 2023-04-19 11:10:08 -04:00
admin_rpc_post_init.rs Admin RPC Service: move post-init activation to before wait-for-supermajority (#30544) 2023-03-01 19:38:11 -07:00
ancestor_hashes_service.rs Rename DeadSlotAncestorRequestStatus -> AncestorRequestStatus (#31050) 2023-04-04 20:48:45 +00:00
banking_stage.rs ThreadAwareAccountLocks (#30422) 2023-04-06 10:12:03 -07:00
banking_trace.rs Add fully-reproducible online tracer for banking (#29196) 2023-01-25 21:54:38 +09:00
broadcast_stage.rs asserts that cluster-info keypair is consistent with contact-info id (#29818) 2023-01-24 16:57:55 +00:00
cache_block_meta_service.rs Remove unneeded `clippy::new_ret_no_self` allows (#31035) 2023-04-03 20:35:20 -06:00
cluster_info_vote_listener.rs Track max_complete_rewards_slot for use in rpc, bigtable (#30698) 2023-03-14 12:08:48 -06:00
cluster_nodes.rs reports cluster-nodes metrics by stake (#30912) 2023-03-28 12:45:09 +00:00
cluster_slot_state_verifier.rs Exit when stuck in an unrecoverable repair/purge loop (#28596) 2022-10-27 20:06:06 -07:00
cluster_slots.rs adjust normalized stake calculation in compute_weight (#29694) 2023-01-17 11:27:57 -08:00
cluster_slots_service.rs asserts that cluster-info keypair is consistent with contact-info id (#29818) 2023-01-24 16:57:55 +00:00
commitment_service.rs vote: encapsulate `Lockout` (#29753) 2023-01-18 19:28:28 -07:00
completed_data_sets_service.rs doc: ledger: Document `completed_data_sets_service` module (#30001) 2023-02-07 21:20:09 -08:00
consensus.rs Add new vote state version that replaces Lockout with LandedVote to a… (#30831) 2023-04-18 20:27:38 -07:00
cost_update_service.rs Remove unneeded `clippy::new_ret_no_self` allows (#31035) 2023-04-03 20:35:20 -06:00
drop_bank_service.rs Standardize thread names 2022-08-20 07:49:39 -07:00
duplicate_repair_status.rs Rename DeadSlotAncestorRequestStatus -> AncestorRequestStatus (#31050) 2023-04-04 20:48:45 +00:00
fetch_stage.rs Remove unneeded `clippy::new_ret_no_self` allows (#31035) 2023-04-03 20:35:20 -06:00
fork_choice.rs
forward_packet_batches_by_accounts.rs Remove gate from accepting packets for forwarding (#29049) 2022-12-06 12:13:01 -06:00
gen_keys.rs
heaviest_subtree_fork_choice.rs Track pruned subtrees in repair weight (#29922) 2023-03-08 18:38:32 -07:00
immutable_deserialized_packet.rs sdk: Make Packet::meta private, use accessor functions (#29092) 2022-12-06 12:54:49 +01:00
latest_unprocessed_votes.rs sdk: Make Packet::meta private, use accessor functions (#29092) 2022-12-06 12:54:49 +01:00
latest_validator_votes_for_frozen_banks.rs
leader_slot_banking_stage_metrics.rs Separate stats updates from decision_maker (#30481) 2023-03-15 19:39:48 -07:00
leader_slot_banking_stage_timing_metrics.rs BankingStage Refactor: transaction recorder record transactions (#30106) 2023-02-09 08:34:02 -08:00
ledger_cleanup_service.rs Reduce the amount of IO that LedgerCleanupService performs (#29239) 2023-01-23 04:39:47 -06:00
ledger_metric_report_service.rs Standardize thread names 2022-08-20 07:49:39 -07:00
lib.rs Add new vote state version that replaces Lockout with LandedVote to a… (#30831) 2023-04-18 20:27:38 -07:00
multi_iterator_scanner.rs MultiIteratorScanner::finalize returns (payload, already_processed) (#31054) 2023-04-07 11:17:36 -07:00
next_leader.rs BankingStage Refactor: Separate Next Leader Functions (#29401) 2023-01-20 10:02:29 -08:00
optimistic_confirmation_verifier.rs patches errors from clippy::uninlined_format_args 2022-12-06 19:32:15 +00:00
outstanding_requests.rs
packet_deserializer.rs BankingStage Refactor: Simplify PacketReceiver (#29784) 2023-02-02 07:58:55 -08:00
packet_threshold.rs
poh_timing_report_service.rs Standardize thread names 2022-08-20 07:49:39 -07:00
poh_timing_reporter.rs patches errors from clippy::uninlined_format_args 2022-12-06 19:32:15 +00:00
progress_map.rs Add stake breakdown to metrics for HeaviestForkFailures (#31067) 2023-04-05 20:35:12 -06:00
qos_service.rs store slot on BlockBatchUpdate (#31190) 2023-04-14 13:15:31 -07:00
read_write_account_set.rs Feature/multi-iterator-scanner-read-locks (#28862) 2022-11-28 11:23:04 -06:00
repair_generic_traversal.rs cleanup get_closeset_completion (#30516) 2023-02-27 16:56:40 -08:00
repair_response.rs Use Ipv4Addr::{LOCALHOST, UNSPECIFIED} constants (#29813) 2023-01-23 16:49:51 -06:00
repair_service.rs Track pruned subtrees in repair weight (#29922) 2023-03-08 18:38:32 -07:00
repair_weight.rs Fix repair_weight test bad merge failure (#30649) 2023-03-08 21:23:37 -07:00
repair_weighted_traversal.rs Remove ignored slots from repair (#30438) 2023-02-22 12:15:17 -08:00
replay_stage.rs Fix bug where ReplayStage holds an Arc<Bank> for process lifetime (#31267) 2023-04-19 18:12:34 +00:00
request_response.rs
result.rs restructure repair decode error handling (#29977) 2023-01-31 02:44:58 -08:00
retransmit_stage.rs increases retransmit-stage deduper capacity and reset-cycle (#30758) 2023-03-20 20:32:23 +00:00
rewards_recorder_service.rs Remove unneeded `clippy::new_ret_no_self` allows (#31035) 2023-04-03 20:35:20 -06:00
sample_performance_service.rs Remove unneeded `clippy::new_ret_no_self` allows (#31035) 2023-04-03 20:35:20 -06:00
serve_repair.rs simplifies ServeRepair::run_orphan (#30908) 2023-03-27 23:19:55 +00:00
serve_repair_service.rs uses Duration type instead of untyped ..._ms: u64 (#30971) 2023-03-31 15:42:49 +00:00
shred_fetch_stage.rs uses Duration type instead of untyped ..._ms: u64 (#30971) 2023-03-31 15:42:49 +00:00
sigverify.rs Add fully-reproducible online tracer for banking (#29196) 2023-01-25 21:54:38 +09:00
sigverify_shreds.rs moves shreds deduper to shred-sigverify stage (#30786) 2023-03-22 13:19:16 +00:00
sigverify_stage.rs removes Packet Meta.sender_stake and find_packet_sender_stake_stage (#31077) 2023-04-06 21:33:43 +00:00
snapshot_packager_service.rs Use Arc instead of &Arc in SnapshotPackagerService::new (#31270) 2023-04-19 11:09:49 -04:00
staked_nodes_updater_service.rs reworks streamer::StakedNodes (#31082) 2023-04-10 17:07:40 +00:00
stats_reporter_service.rs Standardize thread names 2022-08-20 07:49:39 -07:00
system_monitor_service.rs Reduce cpuid reporting frequency to once an hour (#29849) 2023-01-24 09:27:43 -06:00
tower1_7_14.rs Add new vote state version that replaces Lockout with LandedVote to a… (#30831) 2023-04-18 20:27:38 -07:00
tower1_14_11.rs Add new vote state version that replaces Lockout with LandedVote to a… (#30831) 2023-04-18 20:27:38 -07:00
tower_storage.rs Add new vote state version that replaces Lockout with LandedVote to a… (#30831) 2023-04-18 20:27:38 -07:00
tpu.rs reworks streamer::StakedNodes (#31082) 2023-04-10 17:07:40 +00:00
tracer_packet_stats.rs
tree_diff.rs Add dump_node to update stake for heaviest subtrees (#28827) 2022-11-30 09:26:13 -08:00
tvu.rs Remove unneeded `clippy::new_ret_no_self` allows (#31035) 2023-04-03 20:35:20 -06:00
unfrozen_gossip_verified_vote_hashes.rs
unprocessed_packet_batches.rs sdk: Make Packet::meta private, use accessor functions (#29092) 2022-12-06 12:54:49 +01:00
unprocessed_transaction_storage.rs MultiIteratorScanner::finalize returns (payload, already_processed) (#31054) 2023-04-07 11:17:36 -07:00
validator.rs Use Arc instead of &Arc in AccountsBackgroundService::new (#31268) 2023-04-19 11:10:41 -04:00
verified_vote_packets.rs removes hash-map lookups when sorting vote-account keys (#30878) 2023-03-23 22:29:35 +00:00
vote_simulator.rs vote: encapsulate `Lockout` (#29753) 2023-01-18 19:28:28 -07:00
vote_stake_tracker.rs
voting_service.rs BankingStage Refactor: Separate Next Leader Functions (#29401) 2023-01-20 10:02:29 -08:00
warm_quic_cache_service.rs removes dynamic cast and dynamic dispatch from connection-cache (#30128) 2023-02-09 00:50:44 +00:00
window_service.rs embeds the new gossip ContactInfo in ClusterInfo (#30022) 2023-02-10 20:07:45 +00:00