Commit Graph

3915 Commits

Author SHA1 Message Date
GoodDaisy 03386cc7b9
Fix typos (#34459)
* Fix typos

* Fix typos

* fix typo
2023-12-21 13:06:00 -07:00
Ashwin Sekar def3bc4c4f
Add feature flag for LastIndex and Erasure duplicate proofs (#34360)
* Add feature flag for LastIndex and Erasure duplicate proofs

* pr feedback: use root bank instead of 2 params

* pr feedback: & instead of &Arc

* pr feedback: reuse fn, remove redundant clones

* rebase: fix feature set conflict
2023-12-20 10:20:30 -05:00
behzad nouri 4feadbdb7c
disables turbine and repair QUIC endpoints on mainnet-beta (#34523)
On mainnet-beta, respective QUIC endpoint are unnecessary for now until
testnet has fully migrated to QUIC. The commit disables turbine and
repair QUIC endpoints on mainnet-beta.
2023-12-19 19:12:18 +00:00
Andrew Fitzgerald d00c9a45b2
TransactionScheduler: pre_lock_filter (#34488) 2023-12-19 09:25:18 -08:00
Ryo Onodera d2b5afc410
Finish unified scheduler plumbing with min impl (#34300)
* Finalize unified scheduler plumbing with min impl

* Fix comment

* Rename leftover type name...

* Make logging text less ambiguous

* Make PhantomData simplyer without already used S

* Make TaskHandler stateless again

* Introduce HandlerContext to simplify TaskHandler

* Add comment for coexistence of Pool::{new,new_dyn}

* Fix grammar

* Remove confusing const for upcoming changes

* Demote InstalledScheduler::context() into dcou

* Delay drop of context up to return_to_pool()-ing

* Revert "Demote InstalledScheduler::context() into dcou"

This reverts commit 049a126c905df0ba8ad975c5cb1007ae90a21050.

* Revert "Delay drop of context up to return_to_pool()-ing"

This reverts commit 60b1bd2511a714690b0b2331e49bc3d0c72e3475.

* Make context handling really type-safe

* Update comment

* Fix grammar...

* Refine type aliases for boxed traits

* Swap the tuple order for readability & semantics

* Simplify PooledScheduler::result_with_timings type

* Restore .in_sequence()

* Use where for aesthetics

* Simplify if...

* Fix typo...

* Polish ::schedule_execution() a bit

* Fix rebase conflicts..

* Make test more readable

* Fix test failures after rebase...
2023-12-19 09:50:41 +09:00
Ashwin Sekar 4a8d27d921
replay: feature flag consumption of duplicate proofs from blockstore (#34372)
* replay: feature flag consumption of duplicate proofs from blockstore

* pr feedback: reorder check, add flag for restart logic
2023-12-18 19:01:24 -05:00
steviez ae6a4c0995
Only allow BankForks creation with single bank (#34449)
BankForks has two constructors; one that takes a single Bank (the root)
and one that can take an arbitrary number of Banks plus the root slot.
However, the constructor that accepts multiple banks is unnecessary; it
isn't used in production and is only used in several tests.

So, remove the multi-bank constructor and update unit tests.
2023-12-14 10:53:11 -06:00
Brooks 0b6d939e21
Removes epoch_accounts_hash featurization (#34417) 2023-12-13 15:30:39 -05:00
Brennan 07f38838ae
add additional vote lockout stake threshold (#34120)
* add additional vote lockout stake threshold
2023-12-12 06:50:58 -08:00
Lucas Steuernagel 4b762320cb
Remove WorkingSlot (#34342)
* Remove WorkingSlot
2023-12-11 16:02:53 -03:00
Justin Starry 2971e84ec8
Add metrics for locking the blockhash queue in banking stage (#34382) 2023-12-09 23:54:12 +08:00
ryleung-solana 132c910f81
Quic update identity (#33865)
Update the Quic transport layer keypair and identity when the Validator's identity keypair is updated
2023-12-08 14:53:19 +08:00
behzad nouri d5eee01950
adds feature gated code to drop legacy shreds (#34328) 2023-12-06 22:47:46 +00:00
behzad nouri b1c701e53b
patches slots_per_epoch vs last_slot ordering in shred_fetch_stage (#34338) 2023-12-06 20:47:53 +00:00
Lucas Steuernagel 1877fdb273
Use BankForks on tests - Part 4 (#34271)
* Use BankForks on tests - Part 4

* Ensure the correct slot is set
2023-12-06 13:32:04 -03:00
behzad nouri 2096626633
exits send_requests_task if the connection is closed (#33837)
receiver.recv() can unnecessarily block when the connection is already closed.
The commit exits send_requests_task if the connection is closed.
2023-12-05 16:08:06 +00:00
Andrew Fitzgerald d451675d50
TransactionScheduler: check transaction age and already processed during receive (#34253) 2023-12-04 14:41:05 -08:00
steviez c9cb727b1f
Add additional context to ReplayStage log message (#34296)
The pre-existing message was somewhat vague, so give more details about the caller
2023-12-01 13:04:39 -06:00
Lucas Steuernagel b97b3dd4ab
Use BankForks on tests - Part 3 (#34248)
* Add BankForks to core tests

* Refactor functions under DCOU
2023-12-01 13:47:22 -03:00
Andrew Fitzgerald 2294801954
Do not derive Copy for EpochSchedule and Rent (#32767) 2023-12-01 07:57:25 -08:00
Andrew Fitzgerald 18309ba8da
TransactionScheduler: Schedule Filter (#34252) 2023-11-30 14:41:11 -08:00
steviez 479b7ee9f2
Bubble up errors in bank_fork_utils instead of exiting process (#34277)
There are operations in bank_fork_utils that may fail; we explicitly
call std::process::exit() on several of these. Granted we may end up
exiting the process higher up the callstack, bubbling the errors up
allow a caller that could handle the error to do so.
2023-11-30 16:35:59 -06:00
steviez 935e06f8f1
Output BankHashDetails file when leader drops its' own block (#34256)
Currently, the file is generated when a node drops a block that was
produced by another node. However, it would also be beneficial to see
the account state when a node drops its' own block.

Output the file in this additional failure codepath
2023-11-29 17:20:27 -06:00
Andrew Fitzgerald e949ef9daa
Trailing _us for scheduler time metrics (#34263) 2023-11-29 13:18:56 -08:00
Tyera e425c1acaa
Fix mac build (#34264)
Allow dead code instead
2023-11-29 04:07:13 +00:00
Tyera 2bde5c3cb2
Tag InterestingLimit enum with target_os (#34259)
Only linux has interesting limits
2023-11-29 00:52:32 +00:00
Andrew Fitzgerald df8893772e
TransactionScheduler: Clean already processed or old transactions from container (#34233) 2023-11-28 16:25:12 -08:00
Andrew Fitzgerald 656ec4bdf0
Bump prio-graph to 0.2.0 (#34235) 2023-11-28 08:23:06 -08:00
Andrew Fitzgerald 449d375565
Add metric for number of unschedulable transactions (#34230) 2023-11-28 08:20:53 -08:00
Andrew Fitzgerald 005c825b5c
Validate account locks on buffering (#34229) 2023-11-27 11:21:10 -08:00
Ikko Eltociear Ashimine c6451e9441
Fix typo in multi_iterator_scanner.rs (#34215)
targetting -> targeting
2023-11-24 23:12:57 -06:00
Ashwin Sekar 504f2ee892
Add deepest slot metric (#34186)
* reset to deepest slot when last vote is for an invalid fork.

* pr feedback: comments, height starts at 1
2023-11-21 04:07:00 -05:00
Andrew Fitzgerald 8a298f1628
TransactionScheduler: detailed consume worker metrics (#33895) 2023-11-20 10:46:04 -08:00
Brooks e02f25d5a2
Removes filler accounts (#34115) 2023-11-19 20:36:57 -05:00
Jeff Washington (jwash) 7dd8d4bb64
reverse logic on linux_report_network_limits (#34159) 2023-11-17 18:12:24 -06:00
Trent Nelson 2d3333cb46
system monitory: don't suggest query-only limits (#34149) 2023-11-17 13:18:37 -07:00
Andrew Fitzgerald 9bb82a3901
TransactionScheduler: Scheduler Count and Timing metrics (#33893) 2023-11-17 10:18:58 -08:00
Ashwin Sekar fb76b4cb6c
reduce locking in propagated check for VoteStateUpdate (#33997) 2023-11-15 01:24:30 -05:00
Tyera 0e91e96967
Geyser: add starting entry to ReplicaEntryInfo(V2) (#33963)
* Add ReplicaEntryInfoV2

* Add starting_transaction_index field to EntryNotification

* Populate starting_transaction_index in replay stage

* Cache and populate starting_transaction_index in banking stage

* Build ReplicaEntryInfoV2
2023-11-14 09:49:26 -07:00
Brooks 725ab37bf4
clippy: Replaces .get(0) with .first() (#34048) 2023-11-13 17:22:17 -05:00
Andrew Fitzgerald 81a007b3c8
TransactionScheduler: CLI and hookup for central-scheduler (#33890) 2023-11-13 22:18:54 +08:00
steviez b91da2242d
Change Blockstore max_root from RwLock<Slot> to AtomicU64 (#33998)
The Blockstore currently maintains a RwLock<Slot> of the maximum root
it has seen inserted. The value is initialized during
Blockstore::open() and updated during calls to Blockstore::set_roots().
The max root is queried fairly often for several use cases, and caching
the value is cheaper than constructing an iterator to look it up every
time.

However, the access patterns of these RwLock match that of an atomic.
That is, there is no critical section of code that is run while the
lock is head. Rather, read/write locks are acquired in order to read/
update, respectively. So, change the RwLock<u64> to an AtomicU64.
2023-11-10 17:27:43 -06:00
Ashwin Sekar b5256997f8
refactor: GossipDuplicateConfirmed/cluster_confirmed -> DuplicateConf… (#34012)
refactor: GossipDuplicateConfirmed/cluster_confirmed -> DuplicateConfirmed
2023-11-10 14:47:42 -05:00
behzad nouri 3ac2507d36
adds keep-alive-interval to repair QUIC transport config (#33866)
QUIC connections may timeout due to infrequent repair requests. The commit
configures keep_alive_interval and max_idle_timeout to avoid timeouts.
2023-11-08 20:09:23 +00:00
Lijun Wang 69cec7e7b7
Remove RwLock on BlockNotifier (#33981) 2023-11-08 10:27:50 -08:00
steviez 73815aee51
Move and rename ledger services from core to ledger (#33947)
These services currently live in core/; however, they operate on the
ledger. Mores so, these two services operate on the blockstore only,
and not necessarily the entire ledger. So, it makes sense to move these
services out of core and into ledger. We've recently been doing similar
changes with breaking things out into individual crates in order to
reduce the scope of core.

So, this change moves the services from core/ to ledger/, and replaces
ledger with blockstore.
2023-11-08 11:58:31 -06:00
Lijun Wang eba1b2d3e3
Remove RwLock on TransactionNotifier (#33962)
* Remove RwLock on TransactionNotifier
2023-11-07 10:28:56 -08:00
Tyera d6ac9bea84
Geyser: return real parent blockhash, or default (#33873)
Return real parent blockhash, or default
2023-11-06 11:14:18 -07:00
Liam Vovk e840b9759a
Remove RWLock from EntryNotifier because it causes perf degradation (#33797)
* Remove RWLock from EntryNotifier because it causes perf degradation when entry notifications are enabled on geyser

* remove unused RWLock

* Remove RWLock
2023-11-06 00:55:36 -08:00
Jeff Biseda 63abc72e86
remove unused replay-loop-voting-stats values (#33935) 2023-10-31 23:40:45 -07:00