2355 Commits

Author SHA1 Message Date
66fb1bbb2e Give last leader some grace ticks to catch up (#3299)
* Wait for last leader for some ticks

* New tests and fixed existing tests
2019-03-15 13:22:16 -07:00
fa3e1fa7c9 Add error correction to write-log (#3323) 2019-03-15 15:04:34 -05:00
36763d0802 Cleanup entry.rs packing code (#3303) 2019-03-15 12:48:32 -07:00
be5f800390 Use the Mining Proof's Signature as storage keys (#3321) 2019-03-15 11:44:10 -07:00
ca69b7b75b Add CRC Reader and Writer I/O wrappers (#3322)
* add CRC Reader and Writer I/O wrappers

* typo fix and variable rename
2019-03-15 13:17:49 -05:00
a15927f8d0 make KvStore Send+Sync (#3317) 2019-03-15 13:01:34 -05:00
be1511a7ff delete accidental file (#3316) 2019-03-15 11:28:08 -05:00
d72cac6e97 Fix chacha test 2019-03-15 09:06:54 -06:00
7b4568b9bf Migrate to sign_checked() 2019-03-15 09:06:54 -06:00
57606c6bf8 Bump log level for better CI logs 2019-03-15 07:48:23 -07:00
5741400713 add support for finding the next slot a node will be leader (#3298) 2019-03-14 16:06:56 -07:00
9f02a8d3d0 remove ticks_per_slot from blocktree (#3297) 2019-03-14 15:18:37 -07:00
c208f4dbb5 Add option of replicators to local cluster test 2019-03-14 13:55:11 -07:00
c1eec0290e Rename userdata to data (#3282)
* Rename userdata to data

Instead of saying "userdata", which is ambiguous and imprecise,
say "instruction data" or "account data".

Also, add `ProgramError::InvalidInstructionData`

Fixes #2761
2019-03-14 10:48:27 -06:00
e58220282a Move TransactionError into the SDK 2019-03-13 21:26:57 -06:00
4ca4038d54 Rename BankError to TransactionError 2019-03-13 21:26:57 -06:00
6fd0d4dcf5 Boot error piggybacking on BankError 2019-03-13 21:26:57 -06:00
6a89c68a1d Add utility function to help get System error out of ProgramError 2019-03-13 21:26:57 -06:00
c14cce4c85 Add InstructionError for runtime instruction errors 2019-03-13 21:26:57 -06:00
959961b596 Modified test 2019-03-13 18:18:27 -07:00
6f76c2da6c Fix confirmation test 2019-03-13 17:50:53 -07:00
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
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
ec9e13d1f4 Add repair slot range
Use default impl RepairSlotRange
2019-03-13 10:15:03 -07:00
1d689e84f1 Move and rename cluster_client 2019-03-12 22:05:38 -06:00
12fde77ecd Update crate references 2019-03-12 22:05:38 -06:00
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
06cb266cfe remove unused code (#3252) 2019-03-12 16:46:41 -07:00
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
1ee43a7633 Remove non-essential programs from runtime/ 2019-03-12 15:11:59 -05:00
7b35114c0f Filter vote accounts with no delegate from being selected in Rotation (#3224) 2019-03-11 17:58:21 -07:00
b418525464 Update current leader information in metrics and dashboard 2019-03-11 17:43:59 -07:00
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
3073ebb20d reduce pub 2019-03-11 17:09:21 -05:00
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
a4b6d181a2 rename forwarder ports to tpu_via_blobs 2019-03-11 14:07:17 -07:00
0b8c5d807d code cleanup 2019-03-11 14:07:17 -07:00
e201136eee more review comments 2019-03-11 14:07:17 -07:00
55f660d5f9 address review comments 2019-03-11 14:07:17 -07:00
a4acc631ee Refactor packing packets into blobs into separate packets_to_blob() function in packets.rs 2019-03-11 14:07:17 -07:00
3ddf4b6c24 PR fixes 2019-03-11 14:07:17 -07:00
ccd1173a83 Add local cluster test for forwarding 2019-03-11 14:07:17 -07:00
cd1a9faacd Batch packet forwarding in banking stage 2019-03-11 14:07:17 -07:00
b60b8ec5ae Add logic for deserialzing packets embedded in blobs 2019-03-11 14:07:17 -07:00
536c8accf8 Add separate sockets for tpu forwarder and run different protocol for those sockets 2019-03-11 14:07:17 -07:00
7beefb3f81 Add forwarder sockets and address to contact info and sockets structs 2019-03-11 14:07:17 -07:00
fe1f67ea9a clippy errors 2019-03-11 14:07:17 -07:00
069ce71256 fix clippy 2019-03-11 14:07:17 -07:00
e3cacb9296 Buffer unprocessed packets if next leader is the current node 2019-03-11 14:07:17 -07:00
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