Greg Fitzgerald
50b3fa83a0
Move BankCommitmentCache to solana_runtime ( #10816 )
...
* Remove Blockstore member variable from BlockCommitmentCache
* Hoist is_confirmed_rooted() to its only caller
BlockCommitmentCache no longer depends on Blockstore
* Move BlockCommitmentCache to solana_runtime
2020-06-25 22:06:58 -06:00
Ryo Onodera
4164c69683
Tiny cleanups in preparation for persistent tower ( #10805 )
2020-06-25 18:24:16 +09:00
Ryo Onodera
685becad13
Further expand last_voted_slot terminology ( #10747 )
2020-06-23 21:52:45 +09:00
Ryo Onodera
0952b76f02
Add {Vote, Tower}::last_voted_slot() ( #10734 )
2020-06-23 11:59:54 +09:00
Ryo Onodera
44f5452013
Remove unused StakeLockout::lockout ( #10719 )
...
* Remove unused StakeLockout::lockout
* Revert...
* Really revert to the original behavior...
* Use consistent naming after StakeLockout removal
* Furhter clean up
* Missed type aliases...
* More...
* Even more...
2020-06-23 10:30:09 +09:00
Greg Fitzgerald
0550b893b0
Fix typos ( #10675 )
...
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-06-17 20:54:52 -07:00
Greg Fitzgerald
6ee222363e
Move BankForks to solana_runtime ( #10637 )
...
* Move BankForks to solana_runtime
* Update imports
2020-06-17 15:27:03 +00:00
Greg Fitzgerald
8dd5384d6d
Split commitment module ( #10541 )
...
automerge
2020-06-12 17:16:10 -07:00
Greg Fitzgerald
2eb6f498a8
Remove redundant BankForks parameter ( #10537 )
2020-06-12 11:04:17 -06:00
carllin
526eefac97
Fix clippy ( #10521 )
...
Co-authored-by: Carl <carl@solana.com>
2020-06-11 15:26:00 -06:00
carllin
2e1d59ff85
Adopt heaviest subtree fork choice rule ( #10441 )
...
* Add HeaviestSubtreeForkChoice
* Make replay stage switch between two fork choice rules
Co-authored-by: Carl <carl@solana.com>
2020-06-11 12:16:04 -07:00
Kristofer Peterson
e23340d89e
Clippy cleanup for all targets and nighly rust (also support 1.44.0) ( #10445 )
...
* address warnings from 'rustup run beta cargo clippy --workspace'
minor refactoring in:
- cli/src/cli.rs
- cli/src/offline/blockhash_query.rs
- logger/src/lib.rs
- runtime/src/accounts_db.rs
expect some performance improvement AccountsDB::clean_accounts()
* address warnings from 'rustup run beta cargo clippy --workspace --tests'
* address warnings from 'rustup run nightly cargo clippy --workspace --all-targets'
* rustfmt
* fix warning stragglers
* properly fix clippy warnings test_vote_subscribe()
replace ref-to-arc with ref parameters where arc not cloned
* Remove lock around JsonRpcRequestProcessor (#10417 )
automerge
* make ancestors parameter optional to avoid forcing construction of empty hash maps
Co-authored-by: Greg Fitzgerald <greg@solana.com>
2020-06-09 09:38:14 +09:00
carllin
778078e1dc
Distinguish switch/non-switching votes in ReplayStage ( #10218 )
...
* Add SwitchForkDecision, change vote instruction based on decision
* Factor out SelectVoteAndResetForkResult
Co-authored-by: Carl <carl@solana.com>
2020-05-29 14:40:36 -07:00
Kristofer Peterson
58ef02f02b
9951 clippy errors in the test suite ( #10030 )
...
automerge
2020-05-15 09:35:43 -07:00
carllin
59de1b3b62
Compute Switch Threshold ( #9218 )
...
* Add switching threshold check
Co-authored-by: Carl <carl@solana.com>
2020-05-11 22:20:11 -07:00
Tyera Eulberg
a7f33b5014
Cache banks in BankForks until optional largest_confirmed_root ( #9678 )
...
automerge
2020-04-24 15:49:57 -07:00
carllin
aa8dfac313
Simplify vote simulation ( #9435 )
...
Co-authored-by: Carl <carl@solana.com>
2020-04-10 15:16:12 -07:00
carllin
4522e85ac4
Add Metrics/Dashboards tracking block production ( #9342 )
...
* Add metric tracking blocks/dropped blocks
Co-authored-by: Carl <carl@solana.com>
2020-04-08 14:35:24 -07:00
carllin
0139236464
ReplayStage fixes ( #9271 ) ( #9279 )
...
automerge
2020-04-02 21:05:33 -07:00
carllin
66946a4680
Check ClusterSlots for confirmation of block propagation ( #9115 )
2020-03-30 19:57:11 -07:00
carllin
5a8658283a
Add check for propagation of leader block before generating further blocks ( #8758 )
...
Co-authored-by: Carl <carl@solana.com>
2020-03-26 19:57:27 -07:00
carllin
f3d556e3f9
Refactor VoteTracker ( #9084 )
...
* Refactor VoteTracker
Co-authored-by: Carl <carl@solana.com>
2020-03-26 17:55:17 -07:00
carllin
8ef8c9094a
Add ReplayStage changes for checking switch threshold ( #8504 )
...
* Refactor for supporting switch threshold check
2020-03-02 12:43:43 -08:00
carllin
d47a47924a
Update voting simulation ( #8460 )
2020-02-26 14:09:07 -08:00
carllin
d821fd29d6
Add versioning ( #8348 )
...
automerge
2020-02-25 17:12:01 -08:00
Pankaj Garg
aa80f69171
Promote some datapoints to `info` to fix dashboard ( #8381 )
...
automerge
2020-02-21 13:41:49 -08:00
Tyera Eulberg
ab361a8073
Rename KeypairUtil to Signer ( #8360 )
...
automerge
2020-02-20 13:28:55 -08:00
carllin
73a278dc64
Factor out creating genesis with vote accounts into a utility function ( #8315 )
...
automerge
2020-02-18 02:39:47 -08:00
Trent Nelson
27c8ba6afc
De-replicode Tower constructors ( #8153 )
...
automerge
2020-02-06 18:24:10 -08:00
carllin
0c8cee8c4a
Refactor select_fork() to avoid clones and for clarity ( #8081 )
...
* Refactor select_fork() to avoid clones and for clarity
* Add test that fork weights are increasing
2020-02-03 16:48:24 -08:00
sakridge
0172d2a065
Fix consensus threshold when new root is created ( #8093 )
...
When a new root is created, the oldest slot is popped off
but when the logic checks for identical slots, it assumes
that any difference means a slot was popped off the front.
2020-02-03 13:44:34 -08:00
carllin
4197cce8c9
Tower tests ( #7974 )
...
* Add testing framework for voting
2020-01-28 16:02:28 -08:00
sakridge
7058287273
Consensus fix, don't consider threshold check if.. ( #7948 )
...
* Consensus fix, don't consider threshold check if
lockouts are not increased
* Change partition tests to wait for epoch with > lockout slots
* Use atomic bool to signal partition
2020-01-27 16:49:25 -08:00
Tyera Eulberg
84a37a2c0c
Make validator timestamping more coincident, and increase timestamp sample range ( #7673 )
...
automerge
2020-01-03 22:38:00 -08:00
Rob Walker
6b7d9942a7
Add authorized_voter history ( #7643 )
...
* Add authorized_voter history
* fixups
* coverage
* bigger vote state
2019-12-30 19:57:53 -08:00
Tyera Eulberg
3ab8185777
Add intermittent Timestamping to Votes ( #7233 )
...
* Add intermittent timestamp to Vote
* Add timestamp to VoteState, add timestamp processing to program
* Print recent timestamp with solana show-vote-account
* Add offset of 1 to timestamp Vote interval to initialize at node boot (slot 1)
* Review comments
* Cache last_timestamp in Tower and use for interval check
* Move work into Tower method
* Clarify timestamping interval
* Replace tuple with struct
2019-12-06 14:38:49 -07:00
anatoly yakovenko
d9e7a5fcbe
Use fork weight instead of individual bank weight for fork selection. ( #7079 )
...
* Fix weight calculation
* Fix tests
* fork weight
* wait until nodes are in the leader schedule
* enable sanity
* fewer long tests
2019-11-21 15:47:08 -08:00
Jack May
d184d3a732
Merge native programs parts into one unit ( #7047 )
2019-11-20 10:12:43 -08:00
Jack May
d2ed921bc6
Cleanup nightly warnings ( #7055 )
2019-11-19 20:15:37 -08:00
anatoly yakovenko
59413b3124
Fix rules for fork selection ( #6906 )
...
automerge
2019-11-15 08:36:33 -08:00
anatoly yakovenko
f54cfcdb8f
Store and persists full stack of tower votes in gossip ( #6695 )
...
* vote array
wip
wip
wip
update
gossip index should match tower index
tests build
clippy
test index after expired vote
test
bank specific last vote sync time
* verify
* we are likely to see many more warnings about old votes now
2019-11-04 16:19:54 -08:00
Michael Vines
50a17fc00b
Use Slot and Epoch type aliases instead of raw u64 ( #6693 )
...
automerge
2019-11-02 00:38:30 -07:00
Greg Fitzgerald
2636418659
Move blocktree_processor to solana_ledger ( #6460 )
...
* Drop core::result dependency in bank_forks
* Move blocktree_processor into solana_ledger
2019-10-20 09:54:38 -06:00
sakridge
5ef012b2c1
Tweak debug to remove unreadable datapoints ( #6060 )
2019-10-04 16:25:22 -07:00
Sagar Dhawan
84f74807d4
Skip considering banks older than the latest vote slot ( #6037 )
...
automerge
2019-09-23 19:40:03 -07:00
Sagar Dhawan
62c22c6cb1
Fix really old banks triggering log spam ( #6025 )
2019-09-23 13:59:16 -07:00
carllin
2f50d0e145
Refactor confidence from replay stage ( #5938 )
2019-09-17 19:43:40 -07:00
carllin
ee4266bc59
Remove banks in locktower not in bank_forks ( #5837 )
...
* Remove unnecessary calculations from collect_vote_lockouts
* Add test for locktower startup from snapshot
2019-09-10 13:58:27 -07:00
carllin
bd74e63702
Offload remaining confidence cache computation to separate thread ( #5792 )
...
* Move remaining confidence cache computation to separate thread
* Move confidence cache out of bank forks
2019-09-04 23:10:25 -07:00
carllin
dfa6238342
Remove unnecessary construction of descendants ( #5742 )
2019-09-04 01:49:42 -07:00