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
anatoly yakovenko
475f6fe666
votes only need slots and the last bank hash ( #5499 )
...
churn
cleanup
reverse test slot hashes
test check_slots_are_valid
updates
only send the minimum bank vote difference
fixup! only send the minimum bank vote difference
some banks may not have a voting account setup
fixup! votes only need slots and the last bank hash
fixup! fixup! votes only need slots and the last bank hash
fmt
fixed compare
fixed vote
fixup! fixed vote
poke ci
filter the local votes via the last bank vote
2019-09-02 12:01:09 -07:00