Commit Graph

86 Commits

Author SHA1 Message Date
Greg Fitzgerald cc10e84ab7 sample_ledger -> sample_blocktree 2019-02-23 07:08:11 -07:00
Greg Fitzgerald e19dbdc527 Use Bank for ticks_per_slot 2019-02-22 22:02:23 -07:00
Greg Fitzgerald 4602d3bf46 Unit-tests can use ordinary keypairs 2019-02-21 22:01:20 -08:00
Greg Fitzgerald 778583ad08 Inline BlockConfig::ticks_per_slot 2019-02-21 20:37:21 -08:00
Michael Vines b501090443 Route BankForks into the ReplayStage 2019-02-21 19:25:17 -08:00
Pankaj Garg 5c9777970d moved fee collection code to runtime 2019-02-21 16:35:23 -08:00
Michael Vines d25fc7a649 Stop passing blob_index unnecessarily into ReplayStage 2019-02-21 15:33:01 -07:00
Carl 60a6ff80ee Change votes and associated test/helper functions to vote based on slot height 2019-02-21 15:31:53 -07:00
Michael Vines c94bc2a0b6 Remove dead code 2019-02-21 12:38:43 -08:00
Michael Vines dcf1200d2a Make Fullnode do less work on rotation, ReplayStage can just pass along more details 2019-02-21 11:13:06 -08:00
Michael Vines 1cd88968cf Remove get_leader_for_next_tick() 2019-02-20 19:33:03 -08:00
Michael Vines 8d38c2f800 Remove Entry::tick_height field 2019-02-20 07:47:04 -08:00
Pankaj Garg 19a3606315 Fix broken test, added some tests to calculate tx fee
Some code cleanup
2019-02-20 08:12:37 -07:00
Pankaj Garg cc2227d943 rename slot_num 2019-02-20 08:12:37 -07:00
Pankaj Garg a33921ed34 address review comments 2019-02-20 08:12:37 -07:00
Pankaj Garg a27cdf55e7 Credit transaction fees to the slot leader 2019-02-20 08:12:37 -07:00
Greg Fitzgerald dde886f058 Move Bank to its own crate
Also:
* counters.rs to solana_metrics
* genesis_block.rs to solana_sdk
2019-02-19 07:17:04 -07:00
Greg Fitzgerald ad9cd23202 Notify subscribers from ReplayStage 2019-02-18 20:04:30 -07:00
Greg Fitzgerald e4119268ca Delete expensive integration test in unit-test suite 2019-02-18 09:27:09 -07:00
Carl 8080063024 nit 2019-02-17 19:30:45 -07:00
Carl f33c6eb95f delete leader rotation signal from banking stage 2019-02-17 19:30:45 -07:00
Anatoly Yakovenko 25bbc3bc2a wrong error 2019-02-17 15:43:13 -08:00
Anatoly Yakovenko 5f55a9be84 fmt 2019-02-17 15:43:13 -08:00
Anatoly Yakovenko 300e3d151d remove the signal sender since its superfelous to a recv error 2019-02-17 15:43:13 -08:00
Greg Fitzgerald 9fa8105ae8 Add a way to make a DAG of checkpointed Banks 2019-02-16 21:49:06 -07:00
Greg Fitzgerald b539389741 Move all Validator dependencies from Bank to blocktree_processor 2019-02-16 15:01:26 -07:00
Greg Fitzgerald ac35fe9ed1 Flip the dependency; Create bank before scheduler 2019-02-16 14:16:48 -07:00
Greg Fitzgerald 3d70afc578 Boot leader scheduler from the bank
Functional change: the leader scheduler is no longer implicitly
updated by PohRecorder via register_tick(). That's intended to
be a "feature" (crossing fingers).
2019-02-16 14:16:48 -07:00
Greg Fitzgerald 97c93629a5 Don't use the Bank's LeaderScheduler 2019-02-16 10:55:58 -07:00
Greg Fitzgerald 643384e1ec Add LeaderScheduler constructor to Bank
By passing a config and not a Arc'ed LeaderScheduler, callers
need to use `Bank::leader_scheduler` to access the scheduler.
By using the new constructor, there should be no incentive to
reach into the bank for that object.
2019-02-16 10:55:58 -07:00
Michael Vines 626a381ddc Collect and re-forward packets received while TpuForwarder is shutting down 2019-02-14 18:40:31 -08:00
Michael Vines 8790a92f07 Adjust create_counter to avoid imposing an AtomicUsize import on users 2019-02-13 20:24:04 -08:00
Stephen Akridge f1221d724d Consolidate logic with entry helper function
Creates an entry and updates the hash.
Also cleanup blobs creation in test_replay
2019-02-13 11:23:54 -08:00
Michael Vines e341b33f21 Remove ticks_per_slot from Blocktree::write_entries(), it already knows 2019-02-12 15:52:27 -08:00
Michael Vines 6632c7026d Pass a BlocktreeConfig into all ledger helper functions 2019-02-12 15:52:27 -08:00
Michael Vines c474cf1eef Pass BlocktreeConfig around as a reference 2019-02-12 15:52:27 -08:00
carllin be71f49d80
Change write_entries() and create_tmp_ledger() to take ticks_per_slot (#2736)
* Change write_entries() and create_tmp_ledger() to take ticks_per_slot

* PR nits
2019-02-12 13:14:33 -08:00
Tyera Eulberg f977327c7b Move EntryStream into its own Tvu stage 2019-02-11 14:07:24 -08:00
Michael Vines 095afdfe47 Merge leader_to_validator/validator_to_leader 2019-02-11 08:57:44 -08:00
Michael Vines 7dec40ff05 slot 0 now contains the same number of ticks as all subsequent slots 2019-02-10 16:34:10 -08:00
carllin 4b38ecd916
fix tpu tvu bank race (#2707)
* Fix tpu tvu bank race

* Test highlighting race between tvu and tpu banks during leader to leader transitions
2019-02-10 16:28:52 -08:00
carllin 6e7c5f205b
Rename db_ledger to blocktree (#2698) 2019-02-07 20:52:39 -08:00
carllin fd7db7a954
Support multiple forks in the ledger (#2277)
* Modify db_ledger to support per_slot metadata, add signal for updates, and add chaining to slots in db_ledger

* Modify replay stage to ask db_ledger for updates based on slots

* Add repair send/receive metrics

* Add repair service, remove old repair code

* Fix tmp_copy_ledger and setup for tests to account for multiple slots and tick limits within slots
2019-02-07 15:10:54 -08:00
Michael Vines 1f0b3f954a leader_scheduler: replace older terminology with ticks, slots and epochs 2019-02-07 10:42:57 -08:00
Michael Vines 95ac6305bc Remove unnecessary dependencies on fullnode mod 2019-02-06 21:31:48 -08:00
Michael Vines abb9a72b27 Reduce Fullnode public API surface 2019-02-06 20:04:51 -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 c5a74ada05 leader_scheduler: remove bootstrap_height 2019-02-06 14:23:10 -08: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