Rob Walker
ea0837973e
blocktree_processor to use slots as bank ids, and squash
2019-02-26 17:35:22 -07:00
Michael Vines
9420ba52e9
Squash the new working bank to ensure zero-balance accounts get purged
2019-02-26 10:09:31 -08:00
Greg Fitzgerald
ec35c1fc79
Fix leader scheduling in replay stage
2019-02-26 09:51:12 -07:00
Tyera Eulberg
137233b4a1
Add EntryMeta wrapper
2019-02-26 09:05:00 -07:00
Michael Vines
897279eddb
Encapsulate log::Level so counter macro users don't need to use it
2019-02-25 20:01:30 -08:00
Michael Vines
6088b3bfc8
Replace DEFAULT_SLOT_HEIGHT with 0
2019-02-25 13:09:13 -08:00
Carl
0b37f530ae
Start replay stage from the slot-relative blob index, not the global entry height
2019-02-25 11:38:46 -08:00
Carl
c13ae10d31
Fix replay_stage to 1) skip leader slots, 2) create/set working banks properly
2019-02-25 11:38:46 -08:00
Carl
1e15e6375a
Check for entry height in the unchanging bank_forks_info instead of a racy check to blocktree
2019-02-25 11:38:46 -08:00
Greg Fitzgerald
ec48c58df1
Award tx fees to validators in new leader schedule
...
Also, generalize the leader_schedule functions a bit to allow for
prev_slot_leader and next_slot_leader, should they be needed.
2019-02-25 08:49:43 -08:00
Greg Fitzgerald
fdf6cae6fb
Use bank for leader scheduler's config
...
This ensures GenesisBlock is always configured with the same
ticks_per_slot as LeaderScheduler. This will make it easier
to migrate to bank-generated schedules.
2019-02-23 14:48:27 -07:00
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