Greg Fitzgerald
ad9cd23202
Notify subscribers from ReplayStage
2019-02-18 20:04:30 -07:00
Greg Fitzgerald
5916177dc8
Drop RpcPubSubService's dependency on the Bank
...
Pass in RpcSubscriptions instead, which let's you choose a
bank fork when it's time to send notifications.
2019-02-18 20:04:30 -07:00
Greg Fitzgerald
905b1e2775
Add notify_subscribers()
2019-02-18 20:04:30 -07:00
Greg Fitzgerald
377d45c9dd
Pull RpcSubscriptions out of the Bank
2019-02-18 20:04:30 -07:00
Greg Fitzgerald
e0b8f4202d
Use slot height for BankForks ids
2019-02-18 17:27:20 -07:00
Greg Fitzgerald
90684483e2
Make Bank::hash_internal_state() work with checkpoints
2019-02-18 12:47:10 -07:00
Greg Fitzgerald
0317583489
Move avalanche logic to ClusterInfo
...
The simulator doesn't depend on RetransmitStage. It depends on
just one function, which is similar in spirit to many of the
methods in ClusterInfo.
2019-02-18 09:08:18 -08:00
Greg Fitzgerald
1c3f2bba6d
Move avalanche simulator to integration tests
2019-02-18 09:08:18 -08:00
Greg Fitzgerald
7d62bf9a3d
Move crds_gossip simulator to integration tests
2019-02-18 09:55:52 -07:00
Greg Fitzgerald
7c248cd2ef
Move expensive test to integration tests
...
This test passes consistently when the test suite is run with a
single thread. It fails consistently on MacOS when run as part
of the unit-test suite.
No idea why it passes in CI.
2019-02-18 09:27:23 -07:00
Greg Fitzgerald
e4119268ca
Delete expensive integration test in unit-test suite
2019-02-18 09:27:09 -07:00
anatoly yakovenko
fc2760e761
Remove bank dependency from poh_recorder ( #2810 )
...
* Remove bank dependency from poh_recorder
* clippy
2019-02-18 06:33:07 -08:00
Greg Fitzgerald
907aff3b43
Cleanup Poh code
2019-02-17 21:12:55 -07:00
Greg Fitzgerald
d850f67979
Remove 'Compute' from name ComputeLeaderConfirmationService
...
struct names should be a noun
2019-02-17 19:44:09 -08: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
Carl
4e3d71c2c9
Batch joins on entire tpumode struct instead of individual services
2019-02-17 19:30:23 -07:00
Carl
a074cb78cd
Ensure leader services are closed before starting new ones
2019-02-17 19:30:23 -07:00
Michael Vines
0dbc33f781
Finish removing getConfirmationTime
2019-02-17 16:27:50 -08: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
2f7911b62a
Boot BankError::MaxHeightReached
2019-02-17 16:30:01 -07:00
Anatoly Yakovenko
54dfe708c1
use ref for new_from_parent; test that transactions don't leak to parent
2019-02-17 15:02:08 -07:00
Anatoly Yakovenko
8166925f04
copy a new bank
2019-02-17 15:02:08 -07:00
Anatoly Yakovenko
64f1d93cc3
Use the accounts list from parents up to finalized bank for Account::load apis.
...
Borrow checker
query the previous parents accounts
cleanup!
s/tree/parents
Tests! Last_ids need to be inherited as well otherwise nothing works.
new_from_parent
2019-02-17 15:02:08 -07:00
Greg Fitzgerald
6d67568037
Delete useless wrappers
2019-02-17 14:10:34 -07:00
Greg Fitzgerald
5003e97479
Inline private functions
...
Better code coverage in exchange for calling `create_session()`
2019-02-17 14:10:34 -07:00
Greg Fitzgerald
e9b0e3cb9d
Move RpcSignatureStatus into its own module
...
And fixup some imports from previous commits.
2019-02-17 12:20:05 -07:00
Greg Fitzgerald
34fceca7ff
Fix compiler warnings
2019-02-17 12:20:05 -07:00
Greg Fitzgerald
c646845cd3
Move RpcService into its own module
2019-02-17 12:20:05 -07:00
Greg Fitzgerald
eb483bc053
Move RpcPubSubService into its own module
2019-02-17 12:20:05 -07:00
Greg Fitzgerald
50d3fa7437
Move RpcSubscriptions into its own module
2019-02-17 12:20:05 -07:00
Greg Fitzgerald
9f7fc5f054
Boot unused trait
...
Some ambitious unit-testing plans unimplemented?
2019-02-17 12:20:05 -07:00
anatoly yakovenko
c8c794e340
Use the accounts and status cache from parents up to finalized bank for calls. ( #2798 )
...
* Use the accounts list from parents up to finalized bank for Account::load apis.
* Borrow checker
* query the previous parents accounts
* cleanup!
* s/tree/parents
* Tests! Last_ids need to be inherited as well otherwise nothing works.
2019-02-17 08:01:31 -08:00
carllin
97a1e950ef
write entries in blocktree now sets parent slot properly ( #2800 )
2019-02-17 04:36:49 -08:00
Greg Fitzgerald
9fa8105ae8
Add a way to make a DAG of checkpointed Banks
2019-02-16 21:49:06 -07:00
Michael Vines
58f4709362
Reduce log severity of entry stream errors
2019-02-16 19:10:00 -08:00
anatoly yakovenko
f71cd2c6f3
Status cache runs out of space in the bloom filter ( #2796 )
...
The cache is designed for 1m statuses, about 1 second worth of transactions at full capacity. Refresh the cache every 1 second worth of ticks.
2019-02-16 16:41:03 -08:00
Greg Fitzgerald
e39094ac37
Hoist Slot Leader dependencies up to BankingStage
2019-02-16 15:36:31 -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
b919b3e3b2
Bank no longer updates a leader scheduler by default
2019-02-16 14:16:48 -07:00
Greg Fitzgerald
7a7349f2ff
Don't update the leader scheduler in bank's default constructor
2019-02-16 14:16:48 -07:00
Greg Fitzgerald
07b57735b1
Move leader scheduler test out of bank
2019-02-16 14:16:48 -07:00
Greg Fitzgerald
3bfe2e75b5
Boot new_with_leader_scheduler_config
...
Only used in one place. Easy enough to use the one with the shared
leader scheduler.
2019-02-16 10:55:58 -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
Greg Fitzgerald
1809277e05
Encapsulate Bank accounts
...
That way we don't need to TODOs saying "don't forget to iterate
over checkpoints too". It should be assumed that when the bank
references its previous checkpoint all its methods would
acknowledge it.
2019-02-16 08:41:35 -07:00