Commit Graph

196 Commits

Author SHA1 Message Date
Greg Fitzgerald 6fd0d4dcf5 Boot error piggybacking on BankError 2019-03-13 21:26:57 -06:00
Greg Fitzgerald 6a89c68a1d Add utility function to help get System error out of ProgramError 2019-03-13 21:26:57 -06:00
Greg Fitzgerald c14cce4c85 Add InstructionError for runtime instruction errors 2019-03-13 21:26:57 -06:00
Stephen Akridge 959961b596 Modified test 2019-03-13 18:18:27 -07:00
Pankaj Garg 6f76c2da6c Fix confirmation test 2019-03-13 17:50:53 -07:00
carllin af03df38b9
Don't vote for empty leader transmissions (#3248)
* Don't vote for empty leader transmissions

* Add is_delta flag to bank to detect empty leader transmissions

* Plumb new is_votable flag through replay stage

* Fix PohRecorder tests

* Change is_delta to AtomicBool to avoid making Bank references mutable

* Reset start slot in poh_recorder when working bank is cleared, so that connsecutive TPU's will start from the correct place

* Use proper max tick height calculation

* Test for not voting on empty transmission

* tests for is_votable
2019-03-13 14:06:12 -07:00
Stephen Akridge 64de639817 Fixes to replicator
Move functionality into more functions.
Break down the current test and just test creation/joining the network.
2019-03-13 10:15:03 -07:00
Stephen Akridge ec9e13d1f4 Add repair slot range
Use default impl RepairSlotRange
2019-03-13 10:15:03 -07:00
Tyera Eulberg 1d689e84f1 Move and rename cluster_client 2019-03-12 22:05:38 -06:00
Tyera Eulberg 12fde77ecd Update crate references 2019-03-12 22:05:38 -06:00
carllin cb3eeace56
Replay Stage start_leader() can use wrong parent fork() (#3238)
*  Make sure start_leader starts on the last voted block, not necessarily the biggest indexed bank in frozen_slots()

* Fix tvu test
2019-03-12 17:42:53 -07:00
Rob Walker 06cb266cfe
remove unused code (#3252) 2019-03-12 16:46:41 -07:00
Michael Vines abdd4f371b Adjust readme path 2019-03-12 14:02:51 -07:00
carllin 13adee332e
Add retry transfer logic to kill_entry_and_spend_and_verify_rest to account for dead forks (#3239) 2019-03-12 13:48:02 -07:00
Michael Vines 1ee43a7633 Remove non-essential programs from runtime/ 2019-03-12 15:11:59 -05:00
Sagar Dhawan 7b35114c0f
Filter vote accounts with no delegate from being selected in Rotation (#3224) 2019-03-11 17:58:21 -07:00
Pankaj Garg b418525464 Update current leader information in metrics and dashboard 2019-03-11 17:43:59 -07:00
Michael Vines 6899bd7099
0.13.0 2019-03-11 16:21:19 -07:00
Mark 56b0ba2601
KvStore - A data-store to support BlockTree (#2897)
* Mostly implement key-value store and add integration points

Essential key-value store functionality is implemented, needs more work to be integrated, tested, and activated.

Behind the `kvstore` feature.
2019-03-11 17:53:14 -05:00
Michael Vines 3073ebb20d reduce pub 2019-03-11 17:09:21 -05:00
Stephen Akridge f8e07ef5a3 banking_stage_entryfication fails when run as cargo test
Add some retry for getting entries from the channel.
2019-03-11 14:13:32 -07:00
Carl a4b6d181a2 rename forwarder ports to tpu_via_blobs 2019-03-11 14:07:17 -07:00
Pankaj Garg 0b8c5d807d code cleanup 2019-03-11 14:07:17 -07:00
Pankaj Garg e201136eee more review comments 2019-03-11 14:07:17 -07:00
Pankaj Garg 55f660d5f9 address review comments 2019-03-11 14:07:17 -07:00
Carl a4acc631ee Refactor packing packets into blobs into separate packets_to_blob() function in packets.rs 2019-03-11 14:07:17 -07:00
Carl 3ddf4b6c24 PR fixes 2019-03-11 14:07:17 -07:00
Carl ccd1173a83 Add local cluster test for forwarding 2019-03-11 14:07:17 -07:00
Carl cd1a9faacd Batch packet forwarding in banking stage 2019-03-11 14:07:17 -07:00
Carl b60b8ec5ae Add logic for deserialzing packets embedded in blobs 2019-03-11 14:07:17 -07:00
Carl 536c8accf8 Add separate sockets for tpu forwarder and run different protocol for those sockets 2019-03-11 14:07:17 -07:00
Carl 7beefb3f81 Add forwarder sockets and address to contact info and sockets structs 2019-03-11 14:07:17 -07:00
Pankaj Garg fe1f67ea9a clippy errors 2019-03-11 14:07:17 -07:00
Pankaj Garg 069ce71256 fix clippy 2019-03-11 14:07:17 -07:00
Pankaj Garg e3cacb9296 Buffer unprocessed packets if next leader is the current node 2019-03-11 14:07:17 -07:00
anatoly yakovenko 0c592c52f6
Wake up replay stage when the poh bank is cleared. (#3211)
* wake up replay stage when the poh bank is cleared

* bump ticks per second

* Increase ticks per slot to match faster tick rate

* Remove check that working bank must be the bank for the greatest slot

* Make start_leader() skip starting TPU for slots we've already been leader for
2019-03-11 13:58:23 -07:00
Sagar Dhawan 78bb96ee51
Reduce bootstrap leader stake (#3218) 2019-03-11 13:29:44 -07:00
Rob Walker 195a880576
pass Pubkeys as refs, copy only where values needed (#3213)
* pass Pubkeys as refs, copy only where values needed

* Pubkey is pervasive

* fixup
2019-03-09 19:28:43 -08:00
Michael Vines ac226c3e14 Remove superfluous set_leader() usage 2019-03-08 19:59:54 -08:00
Michael Vines 4d5b832775 Remove commented out and clearly broken test 2019-03-08 19:59:54 -08:00
Michael Vines 79b2542ca4 Remove CrdsValue::LeaderId 2019-03-08 19:41:51 -08:00
Michael Vines 17921c9fae Delete NodeInfo type 2019-03-08 18:37:36 -08:00
Rob Walker 0acdbc0d03 plumb staking_account and voting_keypair from multinode-demo to Vote (#3199)
* plumb staking_account and voting_keypair from bash to Vote
2019-03-08 19:29:08 -07:00
Sagar Dhawan c8c85ff93b
Fix propagation of incorrectly signed messages in Gossip (#3201) 2019-03-08 18:08:24 -08:00
Michael Vines 31cbb52654 Rename new_entry_point as new_gossip_entry_point to clarify usage 2019-03-08 17:42:25 -08:00
Michael Vines cd88f81817 bench-tps no longer uses an invalid ContactInfo for RPC 2019-03-08 17:42:25 -08:00
Tyera Eulberg 6de24ff0be s/account/program in info msgs 2019-03-08 16:30:29 -07:00
Michael Vines de4d14ddc0 set_leader() now remains local and doesn't emit a LeaderId gossip message 2019-03-08 15:10:19 -08:00
Michael Vines 5b386ec30a Delete cluster_info::get_gossip_top_leader() 2019-03-08 12:10:34 -08:00
Michael Vines e04148ff44 Reduce leader_id visiblity 2019-03-08 11:42:06 -08:00
Michael Vines d5d853838c RPC now sends transactions at the local TPU
The local TPU will forward the transactions as needed if it's not
currently the leader
2019-03-08 11:42:06 -08:00
Michael Vines e18673953c Remove poll_gossip_for_leader() 2019-03-08 11:14:47 -08:00
Michael Vines 12f3fd75e8 StorageStage now sends transactions at the local TPU 2019-03-08 11:03:49 -08:00
Michael Vines 7bd0929157 Remove process_block() 2019-03-08 09:36:30 -08:00
Michael Vines 19488ba42a Speling 2019-03-08 09:36:30 -08:00
Michael Vines f0dc10c67b Hide close(), the user is supposed to drop instead 2019-03-08 09:36:30 -08:00
Tyera Eulberg f55103498f Remove commented test code 2019-03-07 19:18:53 -07:00
Greg Fitzgerald c5e9c6fdb6 Get chacha off Budget 2019-03-07 19:18:53 -07:00
Greg Fitzgerald 125a345c90 Fix pubsub test 2019-03-07 19:18:53 -07:00
Greg Fitzgerald 10b16753af Remove 'new' constructor 2019-03-07 19:18:53 -07:00
Tyera Eulberg 259c820f15 Review comments 2019-03-07 17:21:32 -07:00
Tyera Eulberg 6a81f9e443 Add program subscriptions to rpc 2019-03-07 17:21:32 -07:00
Sagar Dhawan 02eb234399
Fix TVU and PoH Recorder going out of sync (#3164)
* Fix broadcast_stage error

* Account for very fast ticks in tick verification
2019-03-07 15:49:07 -08:00
Michael Vines 0be59cad4e Remove dead code 2019-03-07 13:05:42 -08:00
Michael Vines 5edbd6a7fb gossip_service::discover() now reports the leader 2019-03-07 13:05:42 -08:00
Michael Vines 54ff9b3ac2 Shutdown gossip on failure 2019-03-07 13:05:42 -08:00
Michael Vines 5463226184 Give spy nodes a proper keypair 2019-03-07 13:05:42 -08:00
Michael Vines b96bccd71f Use Self 2019-03-07 13:05:42 -08:00
Michael Vines 07a948a0d0 Replicator now uses its keypair for gossip 2019-03-07 13:05:42 -08:00
Michael Vines 8f034280dc Increase polling frequency to report convergence quicker 2019-03-07 13:05:42 -08:00
Michael Vines 83f551d9b9 Use poll_gossip_for_leader() 2019-03-07 13:05:42 -08:00
Michael Vines f83a64d17f poll_gossip_for_leader: simplify timeout arg 2019-03-07 13:05:42 -08:00
Michael Vines 8bc7d5a172 Remove spy_node duplication 2019-03-07 13:05:42 -08:00
Michael Vines 679a718cbf poll_gossip_for_leader() code cleanup 2019-03-07 13:05:42 -08:00
Michael Vines b083e4db48 Resolve TODO 2019-03-07 13:05:42 -08:00
Michael Vines a3cab470d3 Rename ClusterInfo::new_with_keypair() to ClusterInfo::new() 2019-03-07 13:05:42 -08:00
Michael Vines bb93504965 Rename ClusterInfo::new() to ClusterInfo::new_with_invalid_keypair() 2019-03-07 13:05:42 -08:00
Rob Walker 9e9c0785e7
groom broadcast (#3170) 2019-03-07 09:43:42 -08:00
Tyera Eulberg 9fedc9513b Use generics for add/remove subscriptions 2019-03-06 20:50:48 -08:00
Rob Walker 01fb76f4bd
add epoch warmup (#3166)
add epoch warmup
2019-03-06 16:32:23 -08:00
Rob Walker 63a4ed74a4
consolidate logic for epoch and slot_index into Bank (#3144) 2019-03-06 14:44:21 -08:00
Pankaj Garg 0252bf2f46 fix fmt 2019-03-06 12:25:28 -08:00
Pankaj Garg 283bb84134 Create UDP socket once per process_loop for forwarding transactions 2019-03-06 12:25:28 -08:00
Michael Vines 0a4f909566 requestAirdrop RPC API is now optional 2019-03-06 10:23:57 -08:00
Michael Vines 516aa44aad Don't fetch the working_bank twice 2019-03-06 10:23:57 -08:00
Michael Vines b1763f9187 Remove dead code 2019-03-06 10:23:57 -08:00
Michael Vines b03fd782de Make room for more fields in JsonRpcConfig 2019-03-06 10:23:57 -08:00
Tyera Eulberg 789a9df9f6 s/id/hash in block events 2019-03-06 08:51:10 -08:00
Michael Vines bd39ab9365 Clean up exit signal handling 2019-03-05 19:20:29 -08:00
anatoly yakovenko 1c0cfb17a3 Start leader based on Poh tick height. (#3084)
* Start leader based on poh and test

* Equalize validator and leader stakes in LocalCluster

* Clear WorkingBank on poh_recorder reset
2019-03-05 17:56:51 -08:00
Michael Vines f1d1852691 Rename tokens to lamports in core/ 2019-03-05 17:28:06 -08:00
Michael Vines 53f09c44f3 Rename tokens to lamports in sdk/ 2019-03-05 17:28:06 -08:00
Carl bd237a2d6f Add transaction to test harness to set the delegate for validator vote accounts 2019-03-05 16:51:47 -07:00
Carl 76a7038335 Update test harness to set a delegate on validator vote accounts 2019-03-05 16:51:47 -07:00
Rob Walker cb0560df92 remove dead code 2019-03-05 15:35:24 -08:00
Rob Walker b9e878ee80
slot_height considered harmful (#3135)
* slot_height considered harmful
* fix test_tick_slot_epoch_indexes
2019-03-05 14:18:29 -08:00
Michael Vines 1997640094 Remove prints 2019-03-05 14:09:40 -08:00
Stephen Akridge 0f1d6c6271 Check for no entries left in blocktree in a given slot
There may not be ENTRIES_PER_SEGMENT entries a slot, if so
then we will hang waiting for more.
2019-03-05 11:53:40 -08:00
Greg Fitzgerald 52fc974cdf The funder is not a staker 2019-03-05 12:46:18 -07:00
Greg Fitzgerald fc8489a04d Stop using LocalVoteSigner 2019-03-05 09:34:54 -07:00