Rob Walker
8ba1d5f426
treat genesis special ( #2615 )
...
* treat genesis special
* fix poh_recorder to understand new world order
2019-01-31 13:53:08 -08:00
Pankaj Garg
32162ef0f1
Connect TPU's broadcast service with TVU's blob fetch stage ( #2587 )
...
* Connect TPU's broadcast service with TVU's blob fetch stage
- This is needed since ledger is being written only in TVU now
* fix clippy warnings
* fix failing test
* fix broken tests
* fixed failing tests
2019-01-31 13:43:22 -08:00
Greg Fitzgerald
609e915169
Fix clippy warning
...
Always pass Arcs by reference. Then you'll only need to clone()
to cross thread boundaries.
2019-01-30 21:59:05 -07:00
Greg Fitzgerald
a74b24fdf0
Only store the fullnode's pubkey
...
Only vote_signer is used for signing
2019-01-30 21:59:05 -07:00
Greg Fitzgerald
e25992a011
Always give Fullnode a vote signer
...
This will allow us to use the the signer's pubkey as the node id.
Disable voting with a configuration option.
2019-01-30 21:59:05 -07:00
Michael Vines
c01290438f
Move virtual genesis tick into the ledger proper as entry 0
2019-01-30 14:02:07 -08:00
Michael Vines
9e9c82869a
create_tmp_sample_ledger() need not return the genesis block
2019-01-30 14:02:07 -08:00
Michael Vines
494b143453
Delete create_tmp_genesis
2019-01-30 14:02:07 -08:00
Michael Vines
8cc1cde0fe
create_tmp_sample_ledger() now returns entry_height and last_id
2019-01-30 14:02:07 -08:00
Michael Vines
16e705dc75
Boil away unneeded Fullnode::new_* functions
2019-01-29 20:10:10 -08:00
Rob Walker
1f9ab7f58f
copy bank for TPU
2019-01-29 12:11:48 -08:00
Anatoly Yakovenko
3e1a926aa6
wip
2019-01-29 12:11:48 -08:00
Michael Vines
df136578d4
Remove unnecessary FullnodeConfig::rpc_port option
2019-01-29 10:22:39 -08:00
Michael Vines
ae7f169027
Add FullnodeConfig struct to Fullnode::new* functions
...
This avoids having to touch *every* Fullnode::new* call site when
a new fullnode option is added
2019-01-29 09:42:48 -08:00
Tyera Eulberg
6da7a784f2
Stream entries ( #2582 )
...
* Add entry streaming option
* Fix tests
* Remove obsolete comment
* Move entry stream functionality to struct w/ trait in order to test without i/o
2019-01-29 00:21:27 -08:00
Michael Vines
12cddf725e
Harmonize Fullnode::new* function arguments
2019-01-28 22:37:56 -08:00
Stephen Akridge
53afa64634
Remove storage_state from the bank
...
Construct in TVU and pass to RPC and StorageStage instead.
2019-01-28 15:41:41 -08:00
Michael Vines
29ef9370a6
Remove LeaderSchedulerConfig options
2019-01-28 13:51:01 -08:00
Greg Fitzgerald
1bae87d4b3
Add unit-test-friendly VoteSignerProxy constructor
2019-01-26 14:56:49 -07:00
Sagar Dhawan
d65e7b9fcc
Speedup rotation ( #2468 )
...
Speedup leader to validator transitions
2019-01-26 13:58:08 +05:30
Michael Vines
4bb6549895
Genesis block is now a json file
2019-01-25 09:05:15 -08:00
Rob Walker
e9e01557b7
fix leaked threads from unclosed fullnode
2019-01-25 03:02:49 -08:00
Tyera Eulberg
b7be5b9a7a
Add no-signer argument
2019-01-24 10:47:37 -08:00
Michael Vines
6e8b69fc88
Cleanup leader_addr, it's really entrypoint_addr
2019-01-21 13:06:30 -08:00
Pankaj Garg
6611188edf
Move subscriptions to rpc_pubsub ( #2490 )
...
* Move subscriptions to rpc_pubsub
- this helps avoid recreating pubsub_service on node's role change
* fixed tests and addressed review comments
* fix clippy errors
* address review comments
2019-01-21 09:59:09 -08:00
Michael Vines
132d59ca6a
new_bank_from_db_ledger need not be public
2019-01-21 08:11:13 -08:00
Michael Vines
5b73a8eceb
Rework fullnode boot sequence
2019-01-19 21:35:46 -08:00
Stephen Akridge
1fd7bd7ede
Storage fixes
...
* replicators generate their sample values
* fixes to replicator block height logic
2019-01-18 13:05:35 -08:00
Michael Vines
f8bd19f5db
Log the time it look to process the ledger for easier log inspection
2019-01-16 10:45:47 -08:00
Michael Vines
4369c1a113
RPC port is no longer reset on leader-to-validator transition
2019-01-15 16:06:56 -08:00
Rob Walker
022a97da99
revert revert of kill window ( #2427 )
...
* remove window code from most places
* window used only for testing
* remove unecessary clippy directives
2019-01-15 10:51:53 -08:00
Rob Walker
447243f994
Revert "remove window code from most places" ( #2417 )
...
* Revert "Fix link to book in Local Testnet section (#2416 )"
This reverts commit 710c0c9980
.
* Revert "Add current leader information to dashboard (#2413 )"
This reverts commit f0300c1711
.
* Revert "remove window code from most places (#2389 )"
This reverts commit e3c0bd5a3f
.
2019-01-14 15:11:18 -08:00
Rob Walker
e3c0bd5a3f
remove window code from most places ( #2389 )
...
* remove window code from most places
* window used only for testing
* remove unecessary clippy directives
2019-01-14 12:11:55 -08:00
Pankaj Garg
d7594b19fc
Implemented a trait for vote signer service ( #2386 )
...
* Implemented a trait for vote signer service
* removes need for RPC in unit tests for vote signing
* fix build errors
* address some review comments
2019-01-11 12:58:31 -08:00
Pankaj Garg
2dbe8fc1a9
Refactor vote signer code ( #2368 )
...
* Refactor vote signer code
* fixed test compilation errors
* address clippy errors
* fix missing macro_use
* move macro use
* review comments
2019-01-10 09:21:38 -08:00
Stephen Akridge
491bca5e4b
Remove ledger.rs
...
Split into entry.rs for entry-constructing functions and EntrySlice
trait and db_ledger.rs for ledger helper test functions.
2019-01-09 15:15:47 -08:00
Greg Fitzgerald
f53810fcd2
Remove unused exit variable
...
The exit variable was only used by a test.
2019-01-08 20:22:31 -08:00
Michael Vines
a8b9899dee
Add retry, restore ignored tests
2019-01-07 19:30:08 -08:00
Stephen Akridge
d2cb4e003c
Re-enable the --lib tests
2019-01-07 15:28:20 -08:00
Pankaj Garg
91bd38504e
Use vote signer service in fullnode ( #2009 )
...
* Use vote signer service in fullnode
* Use native types for signature and pubkey, and address other review comments
* Start local vote signer if a remote service address is not provided
* Rebased to master
* Fixes after rebase
2019-01-05 12:57:52 -08:00
Michael Vines
b7dc9dbc76
RPC API now assumes a drone running on the bootstrap leader
2019-01-04 18:45:55 -08:00
Michael Vines
1f6346d880
De-dup ledgers - db_ledger is now the only ledger written to disk
2019-01-04 16:37:00 -08:00
Sagar Dhawan
0bea870b22
Dynamic N layer 'avalanche' broadcast and retransmit ( #2058 )
...
* Dynamic N layer avalanche broadcast and retransmit
2019-01-02 14:16:15 +05:30
Michael Vines
37d7ad819b
Purge DB::destroy() usage
2018-12-20 10:38:03 -08:00
Pankaj Garg
974249f2a5
Parallelize entry processing in replay stage in validators ( #2212 )
...
* Parallelize entry processing in replay stage in validators
- single threaded entry processing is not utlizing CPU cores to the fullest
* fix tests and address review comments
2018-12-18 16:06:05 -08:00
Rob Walker
a65022aed7
DbLedger doesn't need to be mut, doesn't need an RwLock ( #2215 )
...
* DbLedger doesn't need to be mut, doesn't need an RwLock
* fix erasure cases
2018-12-18 15:18:57 -08:00
Michael Vines
07202205c4
Revert "ignore unstable tests"
...
This reverts commit bd7ef5d445071329a3b49b1f8be71b602226bbec.
2018-12-17 10:47:32 -08:00
anatoly yakovenko
4be6d01dfb
Move last ids ( #2187 )
...
* Break out last_ids into its own module
* Boot SignatureNotFound from BankError
* No longer return BankError from LastIds methods
* No longer piggypack on BankError for a LastIds signature status
* Drop all dependencies on the bank
* SignatureStatus -> Status and LastIds -> StatusDeque
* Unstable tests, issue 2193
2018-12-17 07:55:56 -08:00
Michael Vines
5bf9a20d42
fullnode-config no longer depends on src/
2018-12-14 20:13:34 -08:00
Stephen Akridge
7cdbbfa88e
Storage stage updates
...
* Remove logging init from storage program: saw a crash in a test
indicating the logger being init'ed twice.
* Add entry_height mining proof to indicate which segment the result is
for
* Add an interface to get storage miner pubkeys for a given entry_height
* Add an interface to get the current storage mining entry_height
* Set the tvu socket to 0.0.0.0:0 in replicator to stop getting entries
after the desired ledger segment is downloaded.
* Use signature of PoH height to determine which block to download for
replicator.
2018-12-13 11:30:12 -08:00