Commit Graph

2088 Commits

Author SHA1 Message Date
Michael Vines
1f0b3f954a leader_scheduler: replace older terminology with ticks, slots and epochs 2019-02-07 10:42:57 -08:00
Greg Fitzgerald
5128d7d6c3 Move runtime.rs into its own crate 2019-02-07 09:46:06 -08:00
Michael Vines
cedee73548 Temporarily bump DEFAULT_TICKS_PER_SLOT to 64
See solana-labs/solana#2675
2019-02-07 09:16:43 -08:00
Greg Fitzgerald
d1945c29d7 Don't depend on solana_native_loader for IDs in the SDK 2019-02-07 08:23:44 -08:00
Greg Fitzgerald
83b40e4f30 Inline assertions from overreaching helper
The assert_counters() helper creates unreadable tests and makes
us have to update every test any time a counter is added. Instead,
we can just assert the values of any particular counters the test
may have affected.
2019-02-07 08:43:52 -07:00
Michael Vines
95ac6305bc Remove unnecessary dependencies on fullnode mod 2019-02-06 21:31:48 -08:00
Michael Vines
ab4828aae7 Replace role_notifiers tuple with two explicit fields 2019-02-06 21:31:48 -08:00
Michael Vines
c506423e70 Remove superfluous imports 2019-02-06 21:31:48 -08:00
Michael Vines
f0843fc5f1 NodeServices: de-pub, remove dead code 2019-02-06 21:31:48 -08:00
Michael Vines
c87e035302 Remove multinode test dependency on Fullnode internals 2019-02-06 20:38:22 -08:00
Michael Vines
abb9a72b27 Reduce Fullnode public API surface 2019-02-06 20:04:51 -08:00
Sagar Dhawan
acc6bf1564 Don't over complicate the solution 2019-02-06 19:55:12 -08:00
Sagar Dhawan
db688207a5 Add abort signals to tvu/tpu receivers 2019-02-06 19:55:12 -08:00
Sagar Dhawan
9681c4d468 Fix resource hogging when waiting for role transition 2019-02-06 19:55:12 -08:00
Michael Vines
d9e2b94d7a bank::new_with_leader_scheduler_config() - remove Option<> 2019-02-06 19:47:09 -08:00
Michael Vines
f789038baa Consolidate fullnode ledger helpers 2019-02-06 19:47:09 -08:00
Michael Vines
2e23b03f94 Remove dead code 2019-02-06 19:47:09 -08:00
Michael Vines
5181a2a9b1 Guard against invalid tick heights 2019-02-06 14:23:10 -08:00
Michael Vines
2d2572d2cb Set DEFAULT_TICKS_PER_SLOT = 32 to stabilize integration tests 2019-02-06 14:23:10 -08:00
Michael Vines
fa553029d5 Temporarily disable test_validator_to_leader_transition 2019-02-06 14:23:10 -08:00
Michael Vines
c5a74ada05 leader_scheduler: remove bootstrap_height 2019-02-06 14:23:10 -08:00
Michael Vines
f90d96367d Add Fullnode::run() to optionally manage node role transitions automatically 2019-02-06 14:23:10 -08:00
Tyera Eulberg
0025d36880 Move solana proper back to paritytech/jsonrpc 2019-02-04 22:17:23 -07:00
carllin
3feda8a315 ReplayStage asking ledger for updates (#2597)
* Modify replay stage to ask db_ledger for updates instead of reading from upstream channel

* Add signal for db_ledger to update listeners about updates

* fix flaky test
2019-02-04 15:33:43 -08:00
Tyera Eulberg
03e6a56b3c Add datetime to EntryStream message 2019-02-04 11:03:54 -08:00
Sagar Dhawan
9d34ded5f3 Update and fix test_broadcast_last_tick (#2644) 2019-02-01 17:13:15 -08:00
Greg Fitzgerald
511d8275d6 Document current vote program semantics
And add a new 'staker_id' VoteState member variable to offer a path to
work our way out.  Update leader scheduler to use staker_id, but
continue setting it to 'from_id' for the moment.

No functional changes here.
2019-02-01 16:03:46 -08:00
Greg Fitzgerald
9c07a8c26a VoteProgram -> VoteState 2019-02-01 16:03:46 -08:00
Sagar Dhawan
7a6d730db3 Skip retransmit when node is leader (#2625)
* Skip retransmit when node is leader

* Fix window test
2019-02-01 14:30:26 -08:00
Pankaj Garg
d9a22705ce Broadcast Service should handle SendError
- After TVU shuts down, the brroadcast service will get a SendError
  when it tries to send blobs to it
2019-02-01 12:28:00 -08:00
Greg Fitzgerald
dad0bfe447 Replace transaction traits with structs
Also:
* SystemTransaction::new -> new_account
* SystemTransaction::new_create -> new_program_account
2019-02-01 11:38:25 -08:00
Michael Vines
43cce3a8fc speling 2019-02-01 07:11:17 -08:00
Greg Fitzgerald
82a2080e45 Rename VoteSignerProxy to VotingKeypair
Works just like a normal Keypair, but will only sign voting
transactions.
2019-02-01 07:11:17 -07:00
Greg Fitzgerald
9a4abe96c7 Reduce VoteSignerProxy to KeypairUtil 2019-02-01 07:11:17 -07:00
Michael Vines
d87c2eb903 Fullnode::new() - provide FullnodeConfig as a ref 2019-01-31 21:12:36 -08:00
Carl
b6b179af97 Fix bad merge 2019-01-31 20:15:04 -08:00
carllin
37003da854 Fix potential of checking tvu bank for truth when its behind (#2614)
* Fix race between tpu and tvu, where tvu bank is not caught up to tpu bank

* Add test

* Cleanup Fullnode tests
2019-01-31 19:21:02 -08:00
Sagar Dhawan
ed478675ba Push and query the ClusterInfo for votes. (#2622) 2019-02-01 05:21:29 +05:30
Michael Vines
9767468b7f Remove unneeded Option 2019-01-31 13:53:59 -08:00
Rob Walker
8ba1d5f426 treat genesis special (#2615)
* treat genesis special

* fix poh_recorder to understand new world order
2019-01-31 13:53:08 -08:00
carllin
84567d36cf Leader scheduler groundwork for Blocktree (#2599)
* Groundwork for entry tree, align constants with definitions in the book

* Fix edge case in test, node can keep generating ticks between handle_role_transition and exit() call
2019-01-31 13:44:24 -08:00
Pankaj Garg
32162ef0f1 Connect TPU's broadcast service with TVU's blob fetch stage (#2587)
* Connect TPU's broadcast service with TVU's blob fetch stage

- This is needed since ledger is being written only in TVU now

* fix clippy warnings

* fix failing test

* fix broken tests

* fixed failing tests
2019-01-31 13:43:22 -08:00
Pankaj Garg
2dd20c38b2 fix the test 2019-01-31 12:55:17 -08:00
Pankaj Garg
aa1bd603e6 Fix recvmmsg test for timeout 2019-01-31 12:55:17 -08:00
anatoly yakovenko
2754ceec60 StatusDeque split into separate objects with their own root checkpoint strategy (#2613)
Split up StatusDeque into different modules

* LastIdQueue tracks last_ids
* StatusCache keeps track of signature statuses
* StatusCache stores success as a bit in a bloom filter
* Overhead for 1m Ok transactions is 4mb in memory
* Less concurrency between the objects, last_id and status_cache are read and written to at different points in the pipeline
* Each object has its own strategy for merging into the root checkpoint
2019-01-31 06:53:52 -08:00
Greg Fitzgerald
609e915169 Fix clippy warning
Always pass Arcs by reference. Then you'll only need to clone()
to cross thread boundaries.
2019-01-30 21:59:05 -07:00
Greg Fitzgerald
11f1c00ca7 Only send pubkey to ReplayStage 2019-01-30 21:59:05 -07:00
Greg Fitzgerald
a74b24fdf0 Only store the fullnode's pubkey
Only vote_signer is used for signing
2019-01-30 21:59:05 -07:00
Greg Fitzgerald
e25992a011 Always give Fullnode a vote signer
This will allow us to use the the signer's pubkey as the node id.

Disable voting with a configuration option.
2019-01-30 21:59:05 -07:00
Rob Walker
1b50fbbc90 remove Result<> from Blob accessors, add parent (#2608)
* remove Result<> from Blob accessors, add parent
* update chacha's golden
* fixup benches
2019-01-30 20:18:28 -08:00