178 Commits

Author SHA1 Message Date
carllin
8fc9d3e076 Fix update_ancestor_stakes in locktower (#3631)
* Fix update_ancestor_stakes in locktower

* Add test for vote threshold
2019-04-05 12:35:48 -07:00
carllin
0f9c516570 Cherry pick #3572 and #3459 (#3608)
* Fix skipping half leader slot

* Get rid of unnecessary frozen banks
2019-04-02 17:57:00 -07:00
carllin
357f28ae4e Implement finalizer so that all locked accounts are dropped (#3585) (#3598)
* Implement finalizer so that all locked accounts are dropped when finalizer goes out of scope

* Add test for tx error with lock conflict

* Fix double unlock from destructor running after a call to unlock
2019-04-02 13:49:09 -07:00
carllin
bf11d7ef43 Fix resetting PohRecorder to wrong bank (#3553) (#3574)
* Check whether future slot already has transmission
2019-03-30 02:06:49 -07:00
anatoly yakovenko
cd3ff5c335 V0.12.3, cherry pick 3523 and 3529 (#3531)
* validator confirmation

* validator confirmaiton

* remove leader confirmaiton

* hang out on progress until fork is confirmed

* use the right id for delegate id

* fixup! hang out on progress until fork is confirmed

* fixup! use the right id for delegate id

* version bump
2019-03-28 05:59:42 -07:00
Anatoly Yakovenko
ed14b78d81 also check the delegate_id 2019-03-26 13:44:53 -07:00
anatoly yakovenko
6d45ac1bc7 Record the current nodes locktower votes from the bank (#3502)
* observed_locktower_stats

* fixup! observed_locktower_stats
2019-03-26 11:45:59 -07:00
Pankaj Garg
5d70e2efa9 0.12.2 2019-03-25 20:38:48 -07:00
Anatoly Yakovenko
8f181b4350 keep track of locktower slots and stakes 2019-03-25 16:36:19 -07:00
Sathish
0469dc52ac Ensure accounts are unlocked (#3458) 2019-03-25 12:21:32 -07:00
Carl
4cf418f33f Fix wrong keypair 2019-03-23 16:33:50 -07:00
carllin
6c46fcfa4e Restart node test (#3459)
* Add test to local_cluster for restarting a node

* fix so that we don't hit end of epoch - leader not found before trying to transfer
2019-03-23 15:00:23 -07:00
Carl
12ec5304f2 Revert "fix so that we don't hit end of epoch - leader not found before trying to transfer"
Revert "Add test to local_cluster for restarting a node"
2019-03-22 21:46:08 -07:00
Carl
e32f798d5f fix so that we don't hit end of epoch - leader not found before trying to transfer 2019-03-22 20:47:32 -07:00
Carl
68a8b955bc Add test to local_cluster for restarting a node 2019-03-22 19:30:14 -07:00
Pankaj Garg
f479021c0f Update leader slot in poh recorder if we skipped it (#3451)
* reset poh recorder with the original start slot
2019-03-22 17:35:54 -07:00
Michael Vines
6a1904664c Demote log level 2019-03-22 16:51:53 -07:00
Anatoly Yakovenko
a0d940acf0 allow empty ancestors 2019-03-21 16:01:43 -07:00
carllin
f4c914a630 Clear progress map on squash (#3377) 2019-03-21 16:01:43 -07:00
Anatoly Yakovenko
eede274cfe fix is_locked_out logic 2019-03-21 16:01:43 -07:00
Carl
4df79b653b PR comments 2019-03-21 16:01:43 -07:00
Carl
a2c1fa7cb4 Modify bank_forks to support squashing/filtering new root and also don't remove parents from bank_forks when inserting, otherwise we lose potential fork points when querying blocktree for child slots 2019-03-21 16:01:43 -07:00
Stephen Akridge
95cead91a5 Decendent is not a word 2019-03-21 16:01:43 -07:00
anatoly yakovenko
89c42ecd3f Implement locktower voting (#3251)
* locktower components and tests

* integrate locktower into replay stage

* track locktower duration

* make sure threshold is checked after simulating the vote

* check vote lockouts using the VoteState program

* duplicate vote test

* epoch stakes

* disable impossible to verify tests
2019-03-21 16:01:43 -07:00
Pankaj Garg
59f2a478b7 v0.12 specific stability changes 2019-03-21 15:00:30 -07:00
Pankaj Garg
430740b691 use ticks per slot to check if the current tick is in the leader slot 2019-03-21 13:45:41 -07:00
Pankaj Garg
797603a0fe address review comments 2019-03-21 13:45:41 -07:00
Pankaj Garg
f402139991 change pubkey to ref 2019-03-21 13:45:41 -07:00
Pankaj Garg
4db72d85d7 find next leader slot before resetting working bank in Poh recorder 2019-03-21 13:45:41 -07:00
Pankaj Garg
007e17c290 Check if poh recorder has over stepped the leader slot 2019-03-21 13:45:41 -07:00
Rob Walker
3d5eeab6d9 stop copying Blooms (#3379)
* stop copying Blooms

* fixup

* clippy
2019-03-21 13:45:41 -07:00
Pankaj Garg
061d6ec8fd fix formatting 2019-03-19 11:21:00 -07:00
Pankaj Garg
000cc27e53 Schedule node for consecutive slots as leader (#3353)
* Also tweak epoch and slot duration

* new test for leader schedule
2019-03-19 11:21:00 -07:00
Pankaj Garg
9b3092b965 Report how many grace ticks were afforded to previous leader (#3350) 2019-03-19 11:21:00 -07:00
Sagar Dhawan
ca819fc4fb Fix leader rotation counter 2019-03-19 11:21:00 -07:00
Tyera Eulberg
5ff8f57c0e Remove dangling thin_client 2019-03-18 22:20:14 -07:00
Pankaj Garg
4798612560 Reduce log level for periodic debug messages 2019-03-15 16:02:52 -07:00
Rob Walker
9760cb2e6a add support for finding the next slot a node will be leader (#3298) 2019-03-15 15:02:20 -07:00
Pankaj Garg
46b3b3a1c6 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 15:02:20 -07:00
Pankaj Garg
1e70f85e83 [v0.12] Reduce ticks per second (#3287)
* Reduce ticks per second

- It's improving TPS. Temp fix for beacons timeframe

* Fix confirmation test
2019-03-15 14:15:54 -07:00
Michael Vines
b2d6681762 Bump log level for better CI logs 2019-03-15 07:48:57 -07:00
Greg Fitzgerald
c60baf99f3 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 13:04:42 -07:00
carllin
e666509409 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:32:04 -07:00
carllin
6740cb5b02 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-13 03:16:13 -07:00
Tyera Eulberg
1e8e99cc3e Move and rename cluster_client 2019-03-12 23:07:48 -06:00
Tyera Eulberg
2a4f4b3e53 Update crate references 2019-03-12 23:07:48 -06:00
Michael Vines
9a232475a7 0.12.1 2019-03-12 13:42:47 -07:00
Michael Vines
06d7573478 Adjust readme path 2019-03-12 13:36:13 -07:00
Sagar Dhawan
ae750bb16b Filter vote accounts with no delegate from being selected in Rotation (#3224) 2019-03-11 21:32:19 -07:00
Pankaj Garg
80b2f2f6b7 Update current leader information in metrics and dashboard 2019-03-11 18:47:27 -07:00