Justin Starry
5835b3b8eb
Increase timeout when confirming airdrop for max commitment ( #6858 )
...
* Increase timeout when confirming airdrop for max commitment
* Add commitment to airdrop rpc trace
* Flip commitment check
2019-11-10 12:20:52 -05:00
Michael Vines
1ddf90ed08
Compress contact_info_trace() output to improve CI log rendering ( #6852 )
2019-11-09 01:12:18 -07:00
Justin Starry
9807f47d4e
Rename genesis block to genesis config ( #6816 )
2019-11-08 23:56:57 -05:00
Justin Starry
02058ea699
Reject blocks with invalid last ticks in replay stage ( #6833 )
...
* Reject blocks with invalid last ticks in replay stage
* slot_full
2019-11-08 20:21:54 -05:00
Michael Vines
d1daeb44e6
Remove custom stack_size() ( #6844 )
2019-11-08 17:11:07 -07:00
Michael Vines
efdfc5c327
Remove TODOs ( #6843 )
2019-11-08 16:43:18 -07:00
Michael Vines
9c00ad9ff2
Remove some low-hanging TODOs ( #6839 )
2019-11-08 16:41:36 -07:00
Pankaj Garg
da425cc225
Don't insert coding shreds into blocktree on leader ( #6831 )
2019-11-08 13:54:23 -08:00
Michael Vines
b800642fa4
Add new fork log message for when the node is leader for consistency ( #6808 )
2019-11-08 12:30:25 -07:00
Parth
5bd05fba09
require `to` account signature ( #6658 )
...
* require to signature
* fixing invocation to create_account
* fix create_account references
* address review comment
* whacking bugs in tests
* fixing stake program tests
2019-11-08 15:57:35 +05:30
sakridge
8e81bc1b49
Fix pinning ( #6604 )
...
Remove Deref implementations and add more pass-throughs to the PinnedVec
wrapper.
Warm recyclers
set_pinnable
2019-11-07 19:48:33 -08:00
Rob Walker
b64b54f48f
unfork dalek ed25519 ( #6776 )
2019-11-07 17:08:10 -08:00
Sagar Dhawan
67d1e2903c
Upgrade Repair be more intelligent and agressive ( #6789 )
...
* Upgrade Repair be more intelligent and agressive
* Fix u64 casts
* Fix missing bracket
* Add 1 second delay to test to allow repair to kick in
2019-11-07 11:08:09 -08:00
Jack May
65de227520
Don't panic on packet data ( #6769 )
2019-11-06 14:32:37 -08:00
Pankaj Garg
0ace79939b
Add reference tick to data shreds ( #6772 )
...
* Add reference tick to data shreds
* fix tests
2019-11-06 13:27:58 -08:00
Tyera Eulberg
b3a75a60a4
Use rooted bank by default in rpc bank selection ( #6759 )
...
* Name anonymous parameters for clarity
* Add CommitmentConfig to select bank for rpc
* Add commitment information to jsonrpc docs
* Update send_and_confirm retries as per commitment defaults
* Pass CommitmentConfig into client requests; also various 'use' cleanup
* Use _with_commitment methods to speed local_cluster tests
* Pass CommitmentConfig into Archiver in order to enable quick confirmations in local_cluster tests
* Restore solana ping speed
* Increase wallet-sanity timeout to account for longer confirmation time
2019-11-06 14:15:00 -07:00
anatoly yakovenko
5e8668799c
Fewer recyclers. ( #6770 )
...
automerge
2019-11-06 12:35:51 -08:00
anatoly yakovenko
67f636545a
Refactor sigverify to stage for signing shreds on the GPU ( #6635 )
...
automerge
2019-11-06 10:52:30 -08:00
carllin
7ff2a44a63
Make last shred for an interrupted slot signed + typed ( #6760 )
2019-11-06 08:25:17 -07:00
Michael Vines
b5074d8577
Enable JSON RPC request/response logging by default ( #6758 )
2019-11-06 08:23:13 -07:00
carllin
24102a7435
Allow voting on empty banks ( #6719 )
...
* Allow votes on empty banks
* Remove making first bank is_delta true, no longer necessary for idling
* Remove votable from ledger tool
2019-11-06 01:02:26 -08:00
Jack May
9614d17024
Limit deserialization of data coming off the wire ( #6751 )
...
* Limit deserialization of data coming off the wire
* Feedback and cleanup
2019-11-06 00:07:57 -08:00
Michael Vines
09e648f957
ledger-tool/: Include full validator voting history in fork-graph ( #6756 )
2019-11-05 19:40:00 -07:00
carllin
8f91b5aab3
Add threshold to repairman for same slot ( #6728 )
2019-11-05 12:48:45 -08:00
sakridge
c312d4fba0
Calculate proofs collected and don't encrypt if there are none ( #6698 )
2019-11-05 11:38:50 -08:00
Michael Vines
7203036e3e
Adjust nofiles within Blocktree::open() for all ledger/ users ( #6737 )
...
automerge
2019-11-05 11:18:49 -08:00
Tyera Eulberg
c6931dcb07
Remove credit-only account handling ( #6726 )
...
* Renaming
- credit-only/credit-debit to read-only/read-write
- debitable to writable
* Remove credit handling, making credit-only accounts read-only
* Update programs to remove deprecated credit-only account designation
* Use readonly and writable instead of underscored types
2019-11-05 09:38:35 -07:00
Michael Vines
fba1af6ea9
ledger-tool can now load a ledger snapshot ( #6729 )
2019-11-04 22:14:55 -07:00
anatoly yakovenko
b825d04597
Pull perf into a separate module. ( #6718 )
...
automerge
2019-11-04 20:13:43 -08:00
Michael Vines
4d52f47f87
Move get_bank_forks() into ledger/ so its available for use by ledger-tool/ ( #6720 )
2019-11-04 19:10:06 -07:00
anatoly yakovenko
f54cfcdb8f
Store and persists full stack of tower votes in gossip ( #6695 )
...
* vote array
wip
wip
wip
update
gossip index should match tower index
tests build
clippy
test index after expired vote
test
bank specific last vote sync time
* verify
* we are likely to see many more warnings about old votes now
2019-11-04 16:19:54 -08:00
sakridge
57983980a7
Lower verify-batch-size to debug ( #6722 )
...
automerge
2019-11-04 16:00:59 -08:00
Tyera Eulberg
33f4aaf3fd
Rename confidence to commitment ( #6714 )
2019-11-04 16:44:27 -07:00
Pankaj Garg
c138d692b1
Show all ports for nodes in gossip table ( #6717 )
...
* Show all ports for nodes in gossip table
* review comments
2019-11-04 15:05:08 -08:00
Michael Vines
5e3697807c
Fail gracefully if AVX support is missing ( #6705 )
2019-11-04 11:03:39 -07:00
Sagar Dhawan
568475e2db
Fix incorrectly signed CrdsValues ( #6696 )
2019-11-03 10:07:51 -08:00
anatoly yakovenko
9ea398416e
Sign shreds on the GPU ( #6595 )
...
* sign gpu shreds
* wip
* checks
* tests build
* test
* tests
* test
* nits
* sign cpu test
* write out the sigs in parallel
* clippy
* cpu test
* prepare secret for gpu
* woot!
* update
* bump perf libs
2019-11-02 06:23:14 -07:00
Michael Vines
50a17fc00b
Use Slot and Epoch type aliases instead of raw u64 ( #6693 )
...
automerge
2019-11-02 00:38:30 -07:00
Sagar Dhawan
a57f6b70da
Fix swapped repair and forwards addrs ( #6691 )
...
automerge
2019-11-01 16:01:42 -07:00
anatoly yakovenko
385b4ce959
Get rid of verified packets and use the Meta::discard flag ( #6674 )
...
* get rid of verified packets and use the disabled meta field everywhere
2019-11-01 14:23:03 -07:00
Sagar Dhawan
2d67962c2f
Send repairman shreds to the repair socket ( #6671 )
2019-10-31 18:23:50 -07:00
Justin Starry
e8e5ddc55d
Verify number of hashes for each block of entries ( #6262 )
...
* Verify number of hashes for each block of entries
* Fix blocktree processor tick check
* Rebase once more
2019-10-31 16:38:50 -04:00
carllin
59f3dc3b6b
Fix PohRecorder Metrics ( #6644 )
...
* Update Poh Recorder Dashboard
* Update PohRecorder logging
2019-10-30 18:55:29 -07:00
Rob Walker
fa12a5f70b
kill rent calculator ( #6625 )
2019-10-30 16:25:12 -07:00
sakridge
38491c8c4b
Reduce verify-batch-size log ( #6623 )
2019-10-30 13:41:11 -07:00
Sagar Dhawan
801337a422
Refactor Weighted Shuffle ( #6614 )
...
automerge
2019-10-29 21:02:11 -07:00
Sagar Dhawan
ef3aa2731c
Fix Weighted Best calculation ( #6606 )
...
automerge
2019-10-29 17:04:11 -07:00
anatoly yakovenko
34a9619806
SigVerify stage for shreds. ( #6563 )
2019-10-28 16:07:51 -07:00
Sagar Dhawan
579a02529d
Fix unnecessarily copying shreds in broadcast stage ( #6588 )
...
* Optimize coalesce_shreds to not explictly clone
* Remove Coalesce Shreds altogether
* fn no longer needs clippy exception
2019-10-28 14:58:27 -07:00
anatoly yakovenko
243fa6cf63
Shred gpu sigverify ( #6520 )
...
Implement APIs for verifying shred signatures on the GPU.
2019-10-28 10:29:38 -07:00
carllin
6efaaa9d7a
Blocktree metrics ( #6527 )
...
* Add metrics for blocktree performance
* Plumb metrics through window service
2019-10-26 16:15:59 -07:00
sakridge
53c7be32b6
Add more retransmit and streamer stats ( #6534 )
2019-10-24 19:27:19 -07:00
Michael Vines
397ea05aa7
spy nodes are now gossip entrypoints ( #6532 )
2019-10-24 15:35:33 -07:00
Rob Walker
b4119c454a
credit_only credits forwarding ( #6509 )
...
* credit_only_credits_forwarding
* whack transfer_now()
* fixup
* bench should retry the airdrop TX
* fixup
* try to make bench-exchange a bit more robust, informative
2019-10-23 22:01:22 -07:00
sakridge
03d29a8311
Async poh verify ( #6353 )
...
* Async poh verify
* Up ticks_per_s to 160
GPU poh verify needs shorter poh sequences or it takes forever to
verify. Keep slot time the same at 400ms.
* Fix stats
* Don't halt on ticks
* Increase retries for local_cluster tests and make repairman test serial
2019-10-23 12:11:04 -07:00
Michael Vines
35cc74ef25
Add GenesisBlock::OperatingMode to control how cluster features are activated ( #6430 )
2019-10-23 11:50:10 -07:00
Sunny Gleason
0b2d4f32fa
feat: get epoch schedule rpc, update cli ( #6500 )
2019-10-22 16:41:18 -04:00
sakridge
e6438098e1
Increase archiver polling timeout ( #6501 )
...
automerge
2019-10-22 12:15:55 -07:00
carllin
b38bf90de7
Deshred blocks in parallel ( #6461 )
...
* Deshred in parallel
* Add tests for corrupt slots and parallel deshred
* Rename load_blocktree_entries to load_blocktree_entries_with_shred_count
2019-10-21 16:15:10 -07:00
Pankaj Garg
84e911361a
Use constants instead of lazy_static for shred header sizes ( #6472 )
2019-10-21 12:46:16 -07:00
Sagar Dhawan
364583ea5c
Fix copying packets in Window Service ( #6429 )
...
* Fix copying packets in Window Service
* Parallelize over batches instead of within batches
2019-10-21 12:04:52 -07:00
Greg Fitzgerald
9232057e95
Rename replicator to archiver ( #6464 )
...
* Rename replicator to archiver
* cargo fmt
* Fix grammar
2019-10-21 11:29:37 -06:00
Greg Fitzgerald
2636418659
Move blocktree_processor to solana_ledger ( #6460 )
...
* Drop core::result dependency in bank_forks
* Move blocktree_processor into solana_ledger
2019-10-20 09:54:38 -06:00
Justin Starry
31e9074ae5
Rename leader_after_slots to leader_after_n_slots ( #6459 )
2019-10-19 23:28:33 -04:00
Rob Walker
e2c316d2d0
system_instruction_processor updates ( #6448 )
...
* zero lamport account creation
* whack create_user_account, take 2
* target->to
* ..
* ..
* update chacha golden
* update chacha golden
* ..
* ..
2019-10-19 18:23:27 -07:00
sakridge
74ee88d9bc
Add storage stage and bank_forks tests to integration ( #6458 )
2019-10-19 12:09:45 -07:00
Pankaj Garg
badeb4d31a
Rework shred headers to fix position of signature ( #6451 )
...
* Rework shred headers to fix position of signature
* fix clippy
2019-10-18 22:55:59 -07:00
Tyera Eulberg
785c2574cd
Check that transaction fee-payer is a debitable account ( #6454 )
...
automerge
2019-10-18 20:39:05 -07:00
sakridge
1a77f7ce3b
Change to 0x7f which is a valid short_vec len ( #6455 )
...
automerge
2019-10-18 19:56:48 -07:00
Greg Fitzgerald
6e7dccbbfb
Add an error enum to snapshot_utils ( #6453 )
2019-10-18 19:16:06 -06:00
sakridge
32bfced6a4
Add offset checks for sigverify ( #6452 )
...
* Add offset checks for sigverify
* decode_len returning error instead of unwrap
2019-10-18 17:52:59 -07:00
Greg Fitzgerald
e81ba8e79f
Split snapshot_package module ( #6447 )
...
automerge
2019-10-18 14:58:16 -07:00
Greg Fitzgerald
a19ffb353d
Don't hide serialization errors ( #6443 )
...
automerge
2019-10-18 13:35:05 -07:00
Ryo Onodera
193c9a08e0
Reject TXs when there is a mismatch ( #6236 )
...
automerge
2019-10-18 09:48:35 -07:00
Greg Fitzgerald
5468be2ef9
Add solana-ledger crate ( #6415 )
...
automerge
2019-10-18 09:28:51 -07:00
TristanDebrunner
9cf9de6044
Remove the Cursor struct ( #6426 )
2019-10-18 09:18:36 -06:00
carllin
27c0d30a07
Fix logging ( #6417 )
2019-10-18 02:06:41 -07:00
Pankaj Garg
6c33c3a5ba
Update shred tests to use specific error codes ( #6428 )
...
automerge
2019-10-17 22:50:38 -07:00
Sagar Dhawan
298ba34c3c
Add flag to mark a packet as discarded ( #6427 )
2019-10-17 16:26:29 -07:00
Greg Fitzgerald
24846b7b61
Don't use BlocktreeError from Shredder ( #6423 )
...
automerge
2019-10-17 15:44:15 -07:00
TristanDebrunner
9e52d11ad0
Remove Backend trait ( #6407 )
2019-10-17 15:19:27 -06:00
Greg Fitzgerald
d3068c3918
Remove circular dependencies in core ( #6408 )
...
* Remove core::result dependency from blocktree
* Remove core::result dependency from shred
* Move Packet from core::packet to sdk::packet
This way we don't need to split perf_libs yet.
* Disable packet when compiling BPF programs
2019-10-17 11:37:30 -06:00
Greg Fitzgerald
a931ad40c8
Remove unused code in entry ( #6414 )
...
automerge
2019-10-17 09:59:40 -07:00
Pankaj Garg
83c1831a01
Fix replay stage test ( #6406 )
2019-10-16 15:41:43 -07:00
carllin
ccb4e32ee0
ReplayStage metrics ( #6358 )
...
* ReplayStage metrics
* Add more metrics
* Refactor get_slot_entries_with_shred_count() to detect wasted work
* Update dashboard
* Update broadcast slots to micros
* Add broadcast dashboard
2019-10-16 14:32:18 -07:00
Justin Starry
7e6e7e8406
Remove special handling of first ledger tick ( #6263 )
...
* Remove special handling of first ledger tick
* Fix subtraction overflow
* @garious feedback
* Back to height
* More tick_height name changes
* Fix off-by-one
* Fix leader tick error
* Fix merge conflict
* Fix recently added test
2019-10-16 15:53:11 -04:00
Ryo Onodera
e267dfacdd
Stabilize some banking stage tests ( #6251 )
...
* Stabilize some banking stage tests
Fixes #5660
* Fix CI...
* clean up
* Fix ci
* Address review nits
* Use bank.max_tick_height due to off-by-one for no PohRecord's clearing bank
* Fix CI...
* Use bank.max_tick_height() instead for clarity
2019-10-16 12:37:27 -07:00
Ryo Onodera
f4c5da3c72
Fix unaligned read of short_vec pubkey_size in sigverify ( #6388 )
...
automerge
2019-10-16 11:09:17 -07:00
Pankaj Garg
a258e1e0b3
Fix flaky test_recv_mmsg_batch_size ( #6399 )
...
automerge
2019-10-16 11:01:41 -07:00
Pankaj Garg
33052c1dd2
Cleanup shred header structures ( #6378 )
...
automerge
2019-10-15 20:48:45 -07:00
Pankaj Garg
20e800230f
Don't deserialize coding header for data shreds ( #6367 )
...
* Don't deserialize coding hdr for data shreds
* review comments
* fix tests
2019-10-15 15:18:23 -07:00
sakridge
1afc527919
Lower cluster_info-num_nodes datapoint ( #6368 )
2019-10-15 14:42:19 -07:00
sakridge
dfca2b510b
Lower shred/receiver stats ( #6365 )
...
too many messages
2019-10-15 11:43:52 -07:00
Tyera Eulberg
f8ccd90eeb
Add ForkConfidenceCache methods ( #6359 )
...
automerge
2019-10-14 22:14:20 -07:00
Michael Vines
88bb55ffd2
Add get_vote_accounts() to RPC client
2019-10-14 20:38:51 -07:00
Michael Vines
5508ac6272
Add root slot to getVoteAccounts
2019-10-14 20:38:51 -07:00
Tyera Eulberg
5d99853502
Add getBlockConfidence rpc endpoint ( #6350 )
...
automerge
2019-10-14 15:24:10 -07:00
Pankaj Garg
3313b2ff58
Fetch stage batching of forwarded txs ( #6349 )
...
automerge
2019-10-14 13:32:29 -07:00
Greg Fitzgerald
322fcea6e5
More fullnode to validator renaming ( #6337 )
2019-10-11 13:30:52 -06:00
Pankaj Garg
5650231df3
Increase buffer size for erasure meta DB column ( #6335 )
2019-10-11 12:18:11 -07:00
carllin
bf9c815b9e
Increase Index column buffers ( #6268 )
2019-10-10 23:17:39 -07:00
Pankaj Garg
364781366a
Use sendmmsg for broadcasting shreds ( #6325 )
...
* Replace packet with slice of data in sendmmsg
* fixes
* fix bench
2019-10-10 19:38:48 -07:00
Greg Fitzgerald
c6e4641781
Remove many uses of legacy term 'fullnode' ( #6324 )
2019-10-10 17:33:00 -06:00
Pankaj Garg
753bd77b41
Use multicast to send retransmit packets ( #6319 )
2019-10-10 15:02:36 -07:00
carllin
1960ea8ed7
Add benches for shredding and poh ( #6307 )
...
* Add benches for shredding and poh
* ignore poh bench
* Factor out Poh bench as separate function
2019-10-10 14:00:24 -07:00
sakridge
1b775044f7
Use multiple retransmit stage threads/sockets ( #6279 )
2019-10-10 13:24:03 -07:00
Pankaj Garg
570b98c7bc
Multicast same packet to multiple destinations via sendmmg ( #6316 )
...
* Implement multicast same packet to multiple destinations using sendmmsg()
2019-10-10 13:09:15 -07:00
carllin
1f345ce2d9
Don't grab keypair from cluster info on every iteration of broadccast ( #6303 )
2019-10-09 17:36:45 -07:00
Pankaj Garg
ed85aa43a4
Implement sendmmsg() API ( #6304 )
...
* Implement sendmmsg()
* fixes
2019-10-09 17:06:56 -07:00
Sagar Dhawan
4b0250192a
Remove remnants of the cuda feature flag ( #6298 )
...
automerge
2019-10-09 16:09:36 -07:00
carllin
dd66d16fdb
Broadcast final shred for slots that are interrupted ( #6269 )
...
* Broadcast final shred for slots that are interrupted
2019-10-09 16:07:18 -07:00
Sagar Dhawan
32312f3c16
Do not retransmit Repair responses ( #6284 )
...
* Do not retransmit Repair responses
* Add a test
* Refactor neighboring functionality
2019-10-09 13:11:19 -07:00
Pankaj Garg
2db83e1a21
Remove greedy fetch in shred_fetch stage ( #6278 )
...
* Remove greedy fetch in shred_fetch stage
* cleanup
2019-10-09 10:36:05 -07:00
Rob Walker
7cf90766a3
add epoch_schedule sysvar ( #6256 )
...
* add epoch_schedule sysvar
* book sheesh!
2019-10-08 22:34:26 -07:00
Justin Starry
f2ee01ace3
Fix blocktree processor entry callback test ( #6285 )
2019-10-08 20:38:05 -04:00
Justin Starry
5e31565574
Expand blocktree processor options ( #6248 )
...
* Refactor blocktree processor args and support full leader cache
* Add entry callback option
* Rename num_threads to override_num_threads
* Add test for entry callback
* Refactor cached leader schedule changes
* Add tests for blocktree process options
* Refactor test
* @mvines feedback
2019-10-08 17:58:49 -04:00
Sagar Dhawan
723f9a9b81
Remove unnecessary locking in retransmit stage ( #6276 )
...
* Add more detailed metrics to retransmit
* Remove unnecessary locking and add more metrics
2019-10-08 14:41:16 -07:00
sakridge
c5e5342325
Rearrange broadcast stats ( #6274 )
2019-10-08 12:50:59 -07:00
Pankaj Garg
788296047a
Increase batch size for recvmmsg() ( #6260 )
...
* Increase batch size for recvmmsg()
* fix tests
* new test
2019-10-08 09:54:49 -07:00
carllin
9dceb8ac74
Broadcast/Shredding Metrics ( #6270 )
...
automerge
2019-10-08 01:42:42 -07:00
carllin
ac2374e9a1
Shred entries in parallel ( #6180 )
...
* Make shredding more parallel
* Fix erasure tests
* Fix replicator test
* Remove UnfinishedSlotInfo
2019-10-08 00:42:51 -07:00
carllin
e12c577b16
remove verify_hash_internal_state ( #6261 )
2019-10-07 16:38:54 -07:00
sakridge
ba7efbb136
Retransmit stage optimization, don't copy packets ( #6250 )
2019-10-07 15:33:22 -07:00
Pankaj Garg
17f169f446
BlobFetchStage cleanup post shred work ( #6254 )
2019-10-07 11:08:01 -07:00
Michael Vines
4870a2cbac
Panic when a snapshot fails to verify
2019-10-07 08:12:18 +09:00
sakridge
da7d94d0f0
Retransmit stage benchmark ( #6249 )
2019-10-06 12:56:17 -07:00
carllin
cdef065cca
Broadcast Metrics ( #6166 )
...
* Add timing logigng to broadcast
* Shred metrics
* Fixes
2019-10-05 22:51:47 -07:00
sakridge
5ef012b2c1
Tweak debug to remove unreadable datapoints ( #6060 )
2019-10-04 16:25:22 -07:00
Tyera Eulberg
0c3ff6b75c
Cli refactor: vote and storage program functionalities ( #6242 )
...
automerge
2019-10-04 14:18:19 -07:00
Michael Vines
7f53737000
Periodically pull from the entrypoint if it's no longer in Crdt ( #6240 )
2019-10-04 14:18:07 -07:00
Sagar Dhawan
23ea8ae56b
Optimize retransmit stage ( #6231 )
...
* Optimize retransmit stage
* Remove comment
* Fix test
* Skip iteration to fixup 0 stakes
2019-10-04 11:52:02 -07:00
Michael Vines
f9f5bc2eb5
More clippy
2019-10-02 21:21:07 -07:00
Pankaj Garg
f331f1d1e9
Don't forward transaction to self ( #6218 )
2019-10-02 14:07:34 -07:00
sakridge
211cae5811
Remove dead constants ( #6207 )
2019-10-01 18:22:57 -07:00
Pankaj Garg
774e9df2e5
Finish unfininished slot before processing new slots ( #6197 )
2019-10-01 11:46:14 -07:00
sakridge
ae7700296d
broadcast_shreds opt ( #6175 )
...
* Don't clone/copy/sort ContactInfo vec
2019-10-01 09:38:29 -07:00
Jack May
520f7c3e18
Optimize BPF logs ( #6186 )
2019-09-30 14:21:29 -07:00
Parth
2c8c2029d8
cli: enforce rent-exemption balance for stake, vote and program accounts in cli ( #6118 )
...
* require minimum balance for stake, vote and program accounts
2019-10-01 01:14:49 +05:30
Rob Walker
4f4618441c
split wallet staking commands ( #6168 )
...
* split wallet staking commands
* elide real home
* unit->UNIT for usage
* unit->UNIT, don't try to run SUBCOMMANDS: ;)
* more fixup
* fixups
* actually check
* shellcheck
* preserve #6158 after rebase
* fixup
* test
* too hard
* remove test
2019-09-29 21:18:15 -07:00
Michael Vines
e5a7d08966
Add --expected-genesis-blockhash validator argument ( #6174 )
...
automerge
2019-09-29 19:09:24 -07:00
Michael Vines
d50aef8404
Add get-epoch-info command ( #6161 )
...
automerge
2019-09-27 22:00:30 -07:00
Pankaj Garg
5637f88aff
Don't try signging coding shred if fec rate is 0 ( #6171 )
...
automerge
2019-09-27 21:58:53 -07:00
Tyera Eulberg
c9e58743e7
Prevent subtract overflow panic when slot < MAX_LOCKOUT_HISTORY ( #6135 )
2019-09-26 19:40:18 -06:00
Michael Vines
b4da83a3ab
Remove CUDA feature ( #6094 )
2019-09-26 13:36:51 -07:00
Rob Walker
a964570b1a
add authorities to stake init ( #6104 )
...
* add authorities to stake init
* fixups
* code review
2019-09-26 13:29:29 -07:00
Parth
67d07254c2
Add rent estimation rpc ( #6109 )
...
* server side new rpc endpoint
* client side rpc
* take data_len as usize
Co-Authored-By: Tyera Eulberg <teulberg@gmail.com>
* add test and documentation
2019-09-26 23:27:13 +05:30
carllin
701d90a41d
Remove some AccountStorage Serialization ( #6047 )
...
* Remove serialization of AccountStorageEntry fields
* Add metric for evaluating BankRc serialization time
* Serialize AppendVec current len
* Add dashboard metrics
* Move flush of AppendVecs to packaging thread
2019-09-25 18:07:41 -07:00
Rob Walker
43795193c4
add authorized parameters to vote api ( #6072 )
...
* add authorized parameters to vote api
* code review
2019-09-25 13:53:49 -07:00
Sagar Dhawan
e987d0094f
Move status cache serialization to the Snapshot Packager service ( #6081 )
...
* Move status cache serialization to the Snapshot Packager service
* Minor comment updates
* use ok_or_else instead of ok_or
* satus cache
* Remove assert when snapshot format is wrong
* Fix compile
* Remove slots_to_snapshot from bank forks
* Address review comment
* Remove unused imports
2019-09-25 13:42:19 -07:00
Pankaj Garg
de3765ab70
Add erasure recovery stats to dashboard ( #6079 )
...
automerge
2019-09-24 19:59:42 -07:00
Michael Vines
5f079137e5
Remove kvstore ( #6075 )
...
automerge
2019-09-24 19:59:32 -07:00
Sagar Dhawan
374b776a3e
Fix using temp file for archive ( #6058 )
...
* Fix using temp file for archive
* Rename the temp archive instead of hardlinking it
2019-09-24 15:24:54 -07:00
Pankaj Garg
5763d63737
Additional tests for should_retransmit_and_persist ( #6062 )
...
automerge
2019-09-24 14:54:10 -07:00
Pankaj Garg
3ed34b571c
Window service is filtering out coding shreds ( #6052 )
...
* Window service is filtering out coding shreds
* update erasure stats to indicate recovery count
* filter out outdated coding shreds
* address review comments
2019-09-24 12:25:25 -07:00
Pankaj Garg
57e90948a8
Remove dead code from cluster_info ( #6051 )
2019-09-24 10:27:59 -07:00
Rob Walker
26a20a7e62
nits ( #6032 )
2019-09-24 10:10:49 -07:00
Michael Vines
7fa809c16d
Avoid hardlinking as that confuses tar ( #6042 )
2019-09-23 20:12:16 -07:00
Sagar Dhawan
84f74807d4
Skip considering banks older than the latest vote slot ( #6037 )
...
automerge
2019-09-23 19:40:03 -07:00
Pankaj Garg
3a9c03cc89
Don't recover coding shreds ( #6034 )
...
* Don't recover coding shreds
* cleanup
2019-09-23 16:24:21 -07:00
Sagar Dhawan
62c22c6cb1
Fix really old banks triggering log spam ( #6025 )
2019-09-23 13:59:16 -07:00
Pankaj Garg
dbd337c616
Upgrade to ReedSolomon 4.0 release ( #6026 )
2019-09-23 13:53:52 -07:00
Michael Vines
eeda7338cc
Dump tar stdout/err on failure for better debug ( #6024 )
2019-09-23 13:05:09 -07:00
carllin
8240d1fe0a
Confidence implementation ( #5993 )
...
* Change confidence parameters
* Add status_cache_ancestors to get all relevant ancestors of a bank including roots from status cache
* Fix and add tests
* Clippy
2019-09-20 19:38:56 -07:00
carllin
fd6e7020eb
Fix bank overlapping another bank's broadcast ( #6012 )
2019-09-20 19:37:40 -07:00
Michael Vines
a60a3efc1a
Revert "require stake, vote and executable accounts to be rent exempt ( #5928 )" ( #6005 )
...
This reverts commit 11e6197a83
.
2019-09-20 14:10:39 -07:00
sakridge
19ae556857
hash account state on store ( #5573 )
2019-09-20 13:21:12 -07:00
Michael Vines
3d44cffcda
✨ Beautify metrics datapoint logging ( #5998 )
2019-09-20 12:00:43 -07:00
carllin
c9be9acd14
log snapshot time ( #5996 )
2019-09-20 08:03:00 -07:00
Parth
11e6197a83
require stake, vote and executable accounts to be rent exempt ( #5928 )
...
* require vote account to be exempt
* make stake account rent exempt
* add rent exempted system instruction
* use rent exemption instruction in vote and stake api
* use rent exempted account while creating executable account
* updating chacha golden hash as instruction data has changed
* rent will be initialized for genesis bank too
2019-09-20 16:52:17 +05:30
Sagar Dhawan
d379786c90
Fix bind errors ( #5986 )
...
* Add ability to bind to a common tcp/udp port
* Extend port range for local-net sanity and fix validator executable
2019-09-19 17:16:22 -07:00
Pankaj Garg
ca9d4e34df
Broadcast stage tuning ( #5989 )
2019-09-19 16:29:52 -07:00
Rob Walker
5cbd1190b2
transaction batch ( #5962 )
...
* transaction batch
* fixup
2019-09-19 10:06:08 -07:00
Pankaj Garg
0dbf7995b5
Remove unnecessary serialize of shred data ( #5967 )
...
* Remove unnecessary serialize of shred data
* remove obsolete code
* fix golden hash
2019-09-18 20:08:27 -07:00
Sagar Dhawan
e0858cfe06
Add parallel shred signing to shredder ( #5964 )
2019-09-18 18:00:07 -07:00
Pankaj Garg
783e8672e7
Removed Shred enum ( #5963 )
...
* Remove shred enum and it's references
* rename ShredInfo to Shred
* clippy
2019-09-18 16:24:30 -07:00
Pankaj Garg
6c4e656795
Remove obsoleted code from shred ( #5954 )
...
* Remove obsoleted code from shred
* fix broken test
2019-09-18 13:56:44 -07:00
Sagar Dhawan
b757294864
Add minor performance bump to shredding ( #5956 )
2019-09-18 12:35:52 -07:00
Rob Walker
0d4a2c5eb0
simplify poh recorder => broadcast channel ( #5940 )
...
* simplify poh recorder broadcast channel
* fixup
* fixup
2019-09-18 12:16:22 -07:00
carllin
2f50d0e145
Refactor confidence from replay stage ( #5938 )
2019-09-17 19:43:40 -07:00
Pankaj Garg
ff608992ee
Replace Shred usage with ShredInfo ( #5939 )
...
* Replace Shred usage with ShredInfo
* Fix tests
* fix clippy
2019-09-17 18:22:46 -07:00
Rob Walker
a2595b44c6
test randomize with error ( #5916 )
...
* test randomize with error
* update magic numbers
* fixup
* fixup
* fixup
* no more blobs
* fixup
2019-09-17 15:11:29 -07:00
Sagar Dhawan
14cb6353c0
Change erasure ratio to 0.25 and increase data shreds to 16 ( #5931 )
...
* Change erasure ratio to 0.25 and increase data shreds to 16
* Fix case where no coding shreds are requested
2019-09-17 11:59:14 -07:00
Michael Vines
e26f68fe62
Get transactions from LockedAccountsResults when possible ( #5923 )
2019-09-17 08:41:56 -07:00
Michael Vines
f10438d530
Respect randomized transaction order when unlocking accounts ( #5918 )
2019-09-16 21:45:16 -07:00
Pankaj Garg
7459eb15c3
A new data-structure in shreds for partial deserialization ( #5915 )
...
* A new datastructure in shreds for partial deserialization
* fix chacha golden hash
* fix clippy and address review comments
2019-09-16 20:28:54 -07:00
Sagar Dhawan
c44e7ce184
Leaders should not broadcast to replicators ( #5917 )
2019-09-16 17:56:34 -07:00
Sagar Dhawan
82615c703b
Switch erasure to solana-reed-solomon-erasure ( #5913 )
...
* Switch to solana-reed-solomon-erasure
* Disable Rayon for solana-reed-solomon-erasure
2019-09-16 16:14:55 -07:00
carllin
d5ba90d375
Don't verify blobs that are less than root in window service ( #5901 )
2019-09-16 13:13:53 -07:00
Pankaj Garg
5f54573613
More shred related cleanup ( #5909 )
...
* More shred related cleanup
* fix uncle
2019-09-16 10:28:28 -07:00
Pankaj Garg
c1880e3f3e
Reduce number of shreds per FEC block ( #5908 )
2019-09-15 10:37:12 -07:00
Pankaj Garg
ee791e2e3e
Optimizations to shred writing and signing ( #5890 )
...
* Optimizations to shred writing and signing
* fix broken tests
* fixes
2019-09-14 21:05:54 -07:00
sakridge
ceacc42126
Call gpu init earlier to force compilation. ( #5902 )
2019-09-14 12:32:57 -07:00
Michael Vines
84c8a5bbec
Add replay-stage-mark_dead_slot datapoint ( #5907 )
2019-09-14 08:50:53 -07:00
Pankaj Garg
8135279335
Reduce serialize/deserialize in shred recovery ( #5887 )
2019-09-12 21:52:13 -07:00
Sagar Dhawan
c1d788880d
Limit Rayon threadpool threads ( #5871 )
2019-09-12 11:39:39 -07:00
Pankaj Garg
385086359c
Reduce serializations/deserializations of shreds ( #5879 )
2019-09-12 10:10:25 -07:00
Jack May
1853771930
Add support for SDK sysvar types ( #5876 )
2019-09-10 18:53:02 -07:00
carllin
ee4266bc59
Remove banks in locktower not in bank_forks ( #5837 )
...
* Remove unnecessary calculations from collect_vote_lockouts
* Add test for locktower startup from snapshot
2019-09-10 13:58:27 -07:00
Pankaj Garg
b426dfb2c0
Change tx batching in banking process and record ( #5832 )
...
* Change tx batching in banking process and record
* Change batching to reduce impact on replay stage
2019-09-10 11:04:03 -07:00
Pankaj Garg
fd33b27af1
Fix coding shred generator ( #5865 )
2019-09-10 09:35:07 -07:00
Pankaj Garg
7682db4826
Generate coding shreds on the fly based on erasure limits ( #5852 )
...
* Generate coding shreds on the fly based on erasure limits
* fix uncle
2019-09-09 17:26:51 -07:00
carllin
7607800d47
Refactor restart function in local cluster to support separate exit and restart functions ( #5845 )
2019-09-08 17:53:34 -07:00
Michael Vines
df205f8752
Use ureq instead of influx_db_client ( #5839 )
2019-09-07 12:48:45 -07:00
Jack May
e8d88f3237
Split SDK's timing.rs ( #5823 )
2019-09-06 14:30:56 -07:00
Michael Vines
1f9fde5f7b
ThinClient internal name grooming ( #5800 )
2019-09-06 09:07:40 -07:00
Sagar Dhawan
a452249bf3
Use retain on Packets instead of creating new ones ( #5804 )
...
* Use remove on Packets instead of creating a new one
* Fix compile after rebase
2019-09-05 19:16:18 -07:00
Pankaj Garg
3d3b03a123
Verify signature of recovered shred before adding them to blocktree ( #5811 )
...
* Verify signature of recovered shred before adding them to blocktree
* fix failing tests, and review comments
2019-09-05 18:20:30 -07:00
Pankaj Garg
05d2eec45c
Remove unnecessary erasure config references ( #5809 )
2019-09-05 14:46:41 -07:00
Pankaj Garg
3237e897d7
Adjust packet batching post-decoupling from blobs ( #5783 )
2019-09-05 11:22:39 -07:00
carllin
bd74e63702
Offload remaining confidence cache computation to separate thread ( #5792 )
...
* Move remaining confidence cache computation to separate thread
* Move confidence cache out of bank forks
2019-09-04 23:10:25 -07:00
Pankaj Garg
f78b865cba
Cleanup shreds to remove FirstShred data structure ( #5789 )
...
* Cleanup shreds to remove FirstShred data structure
* Also reduce size used by parent slot information in shred header
* clippy
* fixes
* fix chacha test
2019-09-04 21:06:47 -07:00
carllin
7062fe4b47
Refactor Blocktree for clarity and correctness ( #5700 )
...
* Refactor shreds to prevent insertion of any metadata on bad shreds
* Refactor fetching Index in blocktree
* Refactor get_slot_meta_entry
* Re-enable local cluster test
* cleanup
* Add tests for success/fail insertion of coding/data shreds
* Remove assert
* Fix and add tests for should_insert coding and data blobs
2019-09-04 17:14:42 -07:00
Pankaj Garg
02ee2a601c
Further cleanup of blocktree after Blob deprecation ( #5780 )
2019-09-04 12:47:09 -07:00
carllin
dfa6238342
Remove unnecessary construction of descendants ( #5742 )
2019-09-04 01:49:42 -07:00
Pankaj Garg
3b0d48e3b8
Remove blocktree blob references ( #5691 )
...
* Remove blocktree blob references
* fixes and cleanup
* replace uninitialized() call with MaybeUninit
* fix bench
2019-09-03 21:32:51 -07:00
Sagar Dhawan
62f6a78ccd
Make data plane shred filter parallel again ( #5740 )
2019-09-03 21:50:57 +00:00
Tyera Eulberg
85e5fbeb35
Add absoluteSlot to getEpochInfo ( #5765 )
2019-09-02 12:21:06 -07:00
anatoly yakovenko
475f6fe666
votes only need slots and the last bank hash ( #5499 )
...
churn
cleanup
reverse test slot hashes
test check_slots_are_valid
updates
only send the minimum bank vote difference
fixup! only send the minimum bank vote difference
some banks may not have a voting account setup
fixup! votes only need slots and the last bank hash
fixup! fixup! votes only need slots and the last bank hash
fmt
fixed compare
fixed vote
fixup! fixed vote
poke ci
filter the local votes via the last bank vote
2019-09-02 12:01:09 -07:00
sakridge
0c2a49391a
Disable pinned gpu memory ( #5753 )
2019-08-31 16:44:07 -07:00
Michael Vines
e3a6c9234a
Entrypoint RPC service discovery now blocks until the entrypoint is actually found ( #5756 )
...
automerge
2019-08-30 16:12:58 -07:00
Michael Vines
4786143524
Add a more helpful error on genesis block mismatch ( #5744 )
...
automerge
2019-08-30 09:10:22 -07:00
Pankaj Garg
8adac30c05
Integrate shreds to the replicators ( #5711 )
...
* Integrate shreds to the replicators
* fix cuda stuff
* fix cuda tests
2019-08-28 22:34:47 -07:00
Parth
7dfb735db9
randomize tx ordering ( #4978 )
...
Summary of Changes:
This change adds functionality to randomize tx execution for every entry. It does this by implementing OrderedIterator that iterates tx slice as per the order specified. The order is generated randomly for every entry.
2019-08-28 21:08:32 +05:30
Pankaj Garg
2510f3d352
Remove extra call to serialize in shred verify ( #5698 )
2019-08-27 19:28:00 -07:00
Pankaj Garg
47535b9ff1
Use serialize_into to fill in shreds instead of writing one byte at a time ( #5695 )
...
automerge
2019-08-27 17:11:24 -07:00
Sunny Gleason
34ab25a88b
feat: getInflation() endpoint ( #5681 )
2019-08-27 18:17:03 -04:00
carllin
8b9c3a2561
Blocktree last_root to enforce a slot floor ( #5593 )
...
* Add last_root to blocktree
* Don't repair earlier than last_root
* Add integration test to make sure blocktree floor is enforced
2019-08-27 15:09:41 -07:00
Michael Vines
0c62cf8980
Add metrics for snapshot generation ( #5677 )
2019-08-27 13:04:20 -07:00
Pankaj Garg
f1d58f980b
Ignore retransmit channel error ( #5680 )
...
automerge
2019-08-27 12:41:04 -07:00
Pankaj Garg
12ad95eb5e
Erasure statistics for shreds ( #5676 )
2019-08-27 11:22:06 -07:00
Michael Vines
a29f0484dc
Add newline before cluster info log ( #5671 )
2019-08-27 08:33:48 -07:00
Michael Vines
db768b4c3a
Log contact info every 10 seconds ( #5663 )
2019-08-26 18:31:14 -07:00
Pankaj Garg
4ac1213c9c
Integrate coding shreds and recovery ( #5625 )
...
* Integrate coding shreds and recovery
* More tests for shreds and some fixes
* address review comments
* fixes to code shred generation
* unignore tests
* fixes to recovery
2019-08-26 18:27:45 -07:00
Michael Vines
a0f3208828
Ignore flaky test_banking_stage_entryfication ( #5659 )
...
automerge
2019-08-26 16:49:34 -07:00
carllin
28f2c75137
Add bigger buffers for shred column families in rocks ( #5653 )
...
automerge
2019-08-26 15:58:26 -07:00
Rob Walker
615da845cd
remove replicode in run_purge_batch() ( #5630 )
...
* remove replicode
* bigger timeout
* backout 90 min timeout
2019-08-26 09:47:48 -07:00
Michael Vines
52da207f83
test_snapshots_restart_validity now passes ( #5644 )
...
automerge
2019-08-25 21:33:41 -07:00
carllin
6e82978931
Fix race with LedgerCleanupService ( #5622 )
2019-08-23 23:40:20 -07:00
Michael Vines
4e827af392
Remove unnecessary trailing semicolons ( #5636 )
2019-08-23 22:47:54 -07:00
Rob Walker
0ffe7a9c8f
plumb some rent ( #5610 )
...
* plumb some rent
* nits
* fixups
* fixups
* fixups
2019-08-23 14:04:53 -07:00
Michael Vines
3fc5009ef2
Snapshot pipefitting through the validator cli ( #5617 )
...
* Handle 404 errors better
* Snapshot pipefitting through the validator cli
* Add download progress bar
* Log the current entrypoint slot
2019-08-23 13:02:07 -07:00
Rob Walker
52f6da5cee
upgrade rust to 1.37 ( #5611 )
2019-08-23 08:55:51 -07:00
Pankaj Garg
aeaa0feb61
Add range lookups for erasure set indexes ( #5612 )
2019-08-22 16:32:38 -07:00
carllin
087c43b9ef
Add snapshotting integration test ( #5519 )
...
* Add snapshotting integration test
* Update ContactInfo on restart in local cluster nodes
2019-08-21 23:59:11 -07:00
Pankaj Garg
c18ea3ccc9
Fix ignored tests in blocktree ( #5591 )
2019-08-21 20:07:51 -07:00
Michael Vines
e2d6f01ad3
solana-validator now verifies its genesis blockhash against the cluster entrypoint ( #5589 )
2019-08-21 18:16:40 -07:00
Michael Vines
faafee6b42
to to/the the ( #5590 )
2019-08-21 17:46:59 -07:00
carllin
80f618f011
Add info logging around snapshot tarball generation ( #5592 )
...
automerge
2019-08-21 16:36:21 -07:00
Pankaj Garg
0dc0594aaa
Fixes to repair and orphan logic for data shreds ( #5587 )
2019-08-21 15:27:42 -07:00
Michael Vines
d651cb7a25
Adjust |ulimit -n| automatically, no bash required ( #5586 )
2019-08-21 14:55:58 -07:00
Michael Vines
afaf95cf53
Refine error message when ledger can't be opened ( #5582 )
2019-08-21 09:44:12 -07:00
carllin
bb558acdf0
Change JsonRpc exit to use wait->close ( #5566 )
...
* Add wait-close-join pattern to rpc_service
* Create ValidatorExit struct
2019-08-20 23:59:31 -07:00
Pankaj Garg
4798e7fa73
Integrate data shreds ( #5541 )
...
* Insert data shreds in blocktree and database
* Integrate data shreds with rest of the code base
* address review comments, and some clippy fixes
* Fixes to some tests
* more test fixes
* ignore some local cluster tests
* ignore replicator local cluster tests
2019-08-20 17:16:06 -07:00
Rob Walker
93ae98812b
change DEFAULT_NUM_TICKS_PER_SECOND to DEFAULT_TICKS_PER_SECOND ( #5559 )
2019-08-19 23:22:56 -07:00
Sagar Dhawan
bd193535c9
Cap CrdsFilter sizes such that PullRequest no longer exceeds MTU ( #5561 )
2019-08-19 18:14:10 -07:00
Rob Walker
814af378a7
stake cooldown ( #5553 )
...
* stake cooldown
* fixups
* sheesh
2019-08-17 18:12:30 -07:00
Rob Walker
01eb7600d9
use stake config to defeat warmup in local_cluster ( #5549 )
...
* use stake config to defeat warmup in local_cluster
* fixups
2019-08-17 12:28:36 -07:00
Michael Vines
ccee6241a6
Revert "publish fixes"
...
This reverts commit 4d13d3871d
.
2019-08-16 17:28:07 -07:00
Michael Vines
4d13d3871d
publish fixes
2019-08-16 17:03:57 -07:00
Michael Vines
bb0c9d6145
Log more info at the start of PoH ( #5550 )
2019-08-16 16:20:20 -07:00
Tyera Eulberg
8d105042ea
Update getEpochVoteAccounts to getVoteAccounts ( #5543 )
...
* Rework getEpochVoteAccounts into getVoteAccounts
* Update client apis
* Update docs
* Review comments
2019-08-16 17:02:19 -06:00
Michael Vines
84304cb0fc
Display vote pubkey at startup ( #5548 )
2019-08-16 15:56:06 -07:00
Rob Walker
99eeb63f71
move the rest of cluster to local_cluster ( #5535 )
2019-08-16 00:00:38 -07:00
Sagar Dhawan
e73cbdda61
Reduce log level for known issue ( #5536 )
...
automerge
2019-08-15 19:42:27 -07:00
Rob Walker
94f1132fb6
fix single node testnet, remove bootstrap vote ( #5534 )
2019-08-15 18:58:46 -07:00
Sagar Dhawan
4ee212ae4c
Coalesce gossip pull requests and serve them in batches ( #5501 )
...
* Coalesce gossip pull requests and serve them in batches
* batch all filters and immediately respond to messages in gossip
* Fix tests
* make download_from_replicator perform a greedy recv
2019-08-15 17:04:45 -07:00
carllin
d5fb493aa4
Change recv to try_recv ( #5533 )
2019-08-15 15:17:46 -07:00
Greg Fitzgerald
471bc73a23
Fix Rust 1.37.0 compiler warnings ( #5530 )
...
Looks like most usages of trait objects should have introduced
a type variable instead.
2019-08-15 14:00:09 -06:00
carllin
4688f9821f
Snapshot optimizations ( #5525 )
...
* Change serializing snapshot tar to use shell command
2019-08-14 23:14:40 -07:00
Michael Vines
9f6c9c428b
Move genesis/snapshot archive download into Rust ( #5515 )
2019-08-14 19:25:22 -07:00
Rob Walker
d22848f9b1
use live stakes for consensus ( #5426 )
...
* use live stakes for consensus
* lint
* re-enable leader_failure_4
* fixups
* re-ignore leader_failure_4
2019-08-14 13:30:21 -07:00
carllin
d791c70d90
Snapshot optimizations ( #5518 )
...
* Limit slots_since_snapshot size, only package latest snapshot, refactor tests
* Add test checking status_cache.roots == bank_forks.slots_since_snapshot after bank_forks.set_root()
2019-08-13 22:39:29 -07:00
Sagar Dhawan
1d0608200c
Restore blob size fix ( #5516 )
...
* Revert "Revert "Fix gossip messages growing beyond blob size (#5460 )" (#5512 )"
This reverts commit 97d57d168b
.
* Fix Crds filters
2019-08-13 18:04:14 -07:00
carllin
cd14a940d8
Allow process_blocktree() to start processing from any root ( #5484 )
...
* Remove unnecessary entry_height from BankInfo
* Refactor process_blocktree to support process_blocktree_from_root
* Refactor to process blocktree after loading from snapshot
* On restart make sure bank_forks contains all the banks between the root and the tip of each fork, not just the head of each fork
* Account for 1 tick_per_slot in bank 0 so that blockhash of bank0 matches the tick
2019-08-13 17:20:14 -07:00
carllin
58d4e32c97
Remove serialization of future AppendVecs and serialize AccountStorage correctly ( #5510 )
2019-08-13 16:05:37 -07:00
Michael Vines
08f6a2ea3e
debash: Add `solana-gossip get-rpc-url` command to avoid hard coding ( #5513 )
2019-08-13 10:49:48 -07:00
Sagar Dhawan
97d57d168b
Revert "Fix gossip messages growing beyond blob size ( #5460 )" ( #5512 )
...
This reverts commit a8eb0409b7
.
2019-08-13 10:29:26 -07:00
Rob Walker
07d11be6ab
add global stake warmup ( #5483 )
...
* add global stake warmup
* integrate stake history into runtime
* fixup core tests
* fixup
* remove existing cooldown tests for now
2019-08-12 20:59:57 -07:00
Greg Fitzgerald
a43922ccbf
Boot hashbrown ( #5505 )
...
As of Rust 1.36.0, hashbrown now implements the HashMap in std (which
implements HashSet).
https://blog.rust-lang.org/2019/07/04/Rust-1.36.0.html#a-new-hashmapk,-v%3E-implementation
2019-08-12 16:46:49 -06:00
Pankaj Garg
b7a5136136
Helper functions for shreds ( #5493 )
2019-08-12 15:27:58 -07:00
Justin Starry
0fde19239b
Rate limit counter metrics points to one per second ( #5496 )
...
* Rate limit counter metrics points to one per second
* Remove old env var
* Test that metrics counter is incrementing
* Fix typo
2019-08-12 18:15:34 -04:00
Sagar Dhawan
a8eb0409b7
Fix gossip messages growing beyond blob size ( #5460 )
...
* fixed bloom filter math
* Add split each pull request into multiple pulls with different filters
* Rework CrdsFilter to generate all possible masks to cover the keyspace
* Limit the bloom sizes such that each pull request is no larger than mtu
2019-08-12 13:51:29 -07:00
carllin
1b84092b94
Fix slots_since_snapshot in BankForks.add_root() ( #5489 )
2019-08-12 11:56:03 -07:00
Pankaj Garg
b1d43ace14
Add columns for data and code shreds ( #5461 )
2019-08-12 10:03:57 -07:00
Michael Vines
54f4d13350
Validator log filter may now be reconfigured at runtime ( #5473 )
...
* Log filter may now be reconfigured at runtime
* Add RPC API and bash script to reconfigure the log filter
2019-08-10 22:54:46 -07:00
Rob Walker
5884469d11
count commitable in banking_stage ( #5477 )
2019-08-09 21:14:20 -07:00
Rob Walker
ed093f86f9
harmonize percentage members ( #5459 )
...
* harmonize percentage members
* update tests
* update capitalization when burning fees
* verify capitalization in fee burn
* fixup
2019-08-09 13:58:46 -07:00
Michael Vines
5b4ee36cfd
Log more socket addresses at validator startup ( #5471 )
2019-08-08 15:38:23 -07:00
Justin Starry
4f86c0b74a
Rate limit transaction counters ( #5447 )
...
* Rate limit transaction counters
* @sakridge feedback
* Set default high metrics rate for multinode demo
* Fix tests
* Swap defaults and fix env var tests
* Only set metrics rate if not already set
2019-08-08 17:05:06 -04:00
sakridge
238aa2133d
Move local_cluster tests into own crate ( #5465 )
2019-08-08 11:04:33 -07:00
Michael Vines
8c15214923
Add --dev-halt-at-slot option ( #5453 )
2019-08-08 09:14:30 -07:00
Tyera Eulberg
5b51bb27b6
Rpc to return software version ( #5456 )
...
* Add getSoftwareVersion rpc
* Add getSoftwareVersion to doc
* Rename to getVersion and return object
* Update jsonrpc-api.md
2019-08-07 20:06:27 -06:00
Pankaj Garg
6597c71e23
Implement shred erasure recovery and reassembly ( #5444 )
...
* Implement shred erasure recovery and reassembly
* fixes and unit test
* clippy
* review comments, additional tests, and some fixes
* address review comments
* more tests and cleanup
2019-08-07 17:02:49 -07:00
carllin
8aa7a851ca
Fix hardlinking across filesystem boundaries ( #5449 )
...
* Fix hardlinking across filesystem boundaries
* create output dir for snapshot tar
2019-08-07 13:12:53 -07:00
carllin
b72c5689c9
Blow away snapshots directory on start ( #5446 )
2019-08-06 21:41:38 -07:00
Sagar Dhawan
9dcf3347f5
Refactor status cache and remove complex serialize/deserialize ( #5335 )
...
automerge
2019-08-06 18:47:30 -07:00
carllin
1dbb5c8647
Deserialize snapshots ( #5417 )
...
* Deserialize snapshots
2019-08-05 22:53:19 -07:00
Pankaj Garg
c524d62ce0
Implement coding shred generation ( #5415 )
...
* Implemenet coding shred generation
* address review comments
2019-08-05 16:32:34 -07:00
Tyera Eulberg
efd09ecd37
Revert fork metrics ( #5427 )
...
* Revert "Remove duplicate row (#5419 )"
This reverts commit a81dd80d60
.
* Revert "Log fork stake-percentage in metrics, and display (#5406 )"
This reverts commit 92e419f1c7
.
2019-08-05 15:53:36 -07:00
Tyera Eulberg
92e419f1c7
Log fork stake-percentage in metrics, and display ( #5406 )
...
* Log fork stake percentage data
* Add fork stake percentage to dashboard
* Call out parent slot
2019-08-02 19:16:23 -06:00
Pankaj Garg
80bb0158b7
Initial implementation of packet shredder ( #5401 )
...
* Initial implementation of packet shredder
* tests
* clippy
* review comments
2019-08-02 15:53:42 -07:00
Michael Vines
eb3991b9ba
Replay stage log message nits ( #5408 )
2019-08-02 10:08:42 -07:00
Michael Vines
aee63f15c2
Rename state.tgz to snapshot.tgz to match rpc service
2019-08-02 10:07:29 -07:00
Rob Walker
f7d3f55566
fix epoch_stakes again ( #5396 )
2019-08-01 14:27:47 -07:00
carllin
6cb2040a1b
Snapshot Packaging Service ( #5262 )
...
* Snapshot serialization and packaging
2019-07-31 17:58:10 -07:00
sakridge
c2fc0f2418
Plumb libra accounts to genesis ( #5333 )
...
* Plumb move_loader to genesis
* Remove core dependency on genesis-programs
2019-07-31 16:10:55 -07:00
Rob Walker
9278201198
fix epoch_stakes ( #5355 )
...
* fix epoch_stakes
* fix stake_state to use stakers_epoch
* don't allow withdrawal before deactivation
2019-07-31 15:13:26 -07:00
Jack May
d09afdbefe
Synchronize and cleanup instruction processor lists ( #5356 )
2019-07-31 14:28:14 -07:00
Jack May
6d7cb23c61
Add command to create genesis accounts ( #5343 )
2019-07-30 23:43:12 -07:00
Michael Vines
bd7e269280
Kill rsync ( #5336 )
...
automerge
2019-07-30 22:43:47 -07:00
Pankaj Garg
b05b42d74d
Reduce max blob size ( #5345 )
...
* Reduce max blob size
* ignore test_star_network_push_rstar_200
2019-07-30 22:15:07 -07:00
Michael Vines
4a336eb5ff
ValidatorConfig path reform: use Path/PathBuf for paths ( #5353 )
2019-07-30 19:47:24 -07:00
Michael Vines
c78db6a94b
ledger path reform: use Path/PathBuf instead of strings ( #5344 )
2019-07-30 15:53:41 -07:00
carllin
7dc5cc26a6
Make max_epoch check in next_leader_at in leader schedule ( #5342 )
2019-07-30 15:51:02 -07:00
Sagar Dhawan
d7a2b790dc
Limit the size of gossip push and gossip pull response ( #5348 )
...
* Limit the size of gossip push and gossip pull response
* Remove Default::default
* Rename var
2019-07-30 15:43:17 -07:00
Pankaj Garg
a7a10e12c7
Forward transactions as packets instead of blobs ( #5334 )
...
* Forward transactions as packets instead of blobs
* clippy
2019-07-30 14:50:02 -07:00
Justin Starry
84368697af
Fix metrics when leader does not report metrics ( #5291 )
2019-07-30 16:18:33 -04:00
sakridge
a642168369
Add move to bench-tps ( #5250 )
2019-07-27 15:28:00 -07:00
Pankaj Garg
aef7bae60d
Let grace ticks to roll over into multiple leader slots ( #5268 )
...
* Let grace ticks to roll over into multiple leader slots
* address review comments
2019-07-26 11:33:51 -07:00
Tyera Eulberg
dab7de7496
Add confidence cache to BankForks ( #5066 )
...
* Add confidence cache to BankForks
* Include stake-weighted lockouts in cache
* Add cache test
* Move confidence cache updates to handle_votable_bank
* Prune confidence cache on prune_non_root()
* Spin thread to process aggregate_stake_lockouts
* Add long-running thread for stake_weighted_lockouts computation
2019-07-26 11:27:57 -06:00
Sagar Dhawan
a233a1c822
Fix poh recorder not flushing virtual ticks immediately ( #5277 )
...
* Fix poh not flushing virtual ticks immediately
* Fix test_would_be_leader_soon
2019-07-25 11:08:44 -07:00
Sagar Dhawan
535df0026d
Fixes for Blocktree space amplification and slot deletion ( #5266 )
...
* Fixes for Blocktree space amplification and slot deletion
2019-07-24 17:28:08 -07:00
Sagar Dhawan
937816e67b
Post warning if window service isn't receiving any data ( #5269 )
...
automerge
2019-07-24 12:46:10 -07:00
Justin Starry
547a7a345f
Add logs to indicate when the leader changes ( #5253 )
2019-07-23 22:19:20 -04:00
Sagar Dhawan
81f4fd56c7
Log the repairee pubkey when unable to serve them ( #5222 )
...
automerge
2019-07-22 14:13:29 -07:00
Michael Vines
0d8f5379a0
Add time units
2019-07-22 08:22:21 -07:00
Sagar Dhawan
a07b17b9b5
Drop older slots in the ledger ( #5188 )
...
* Add facility to delete blocktree columns in range
* Add ledger cleanup service
* Add local_cluster test
2019-07-20 13:13:55 -07:00
Tyera Eulberg
3f54c0f1a6
Update struct order arbitrarily to match rpc output ( #5197 )
2019-07-19 11:45:04 -06:00
sakridge
8b69998379
Lower recovery messages ( #5181 )
2019-07-19 09:20:14 -07:00
Michael Vines
adfb8ff2a1
Add getEpochInfo() and getLeaderSchedule() RPC methods ( #5189 )
...
* Add getLeaderSchedule() RPC method
* Add getEpochInfo() RPC method
* Add JSON RPC docs
2019-07-19 07:31:18 -07:00
Rob Walker
afa05acb32
more replay_stage grooming ( #5163 )
2019-07-18 14:54:27 -07:00
Sagar Dhawan
a3a91ba222
Fix misleading variable name ( #5176 )
...
automerge
2019-07-18 14:07:32 -07:00
Sagar Dhawan
751b54b60b
Skip sleeping in replay stage if a bank was recently processed ( #5161 )
...
* Skip sleeping in replay stage if a bank was recently processed
* Remove return
2019-07-18 12:04:53 -07:00
Sagar Dhawan
6ad9dc18d8
Add ability to prune ledger ( #5128 )
...
* Add utility to prune the ledger
* Add tests
* Fix clippy
* Fix off by one
* Rework to force delete every column
* Minor fixup
2019-07-17 14:42:29 -07:00
Rob Walker
027ebb6670
no more OUT_DIR ( #5139 )
...
* no more OUT_DIR
* no more OUT_DIR
* more information about failure
2019-07-17 14:27:58 -07:00
Rob Walker
0ffd91df27
groom poh_recorder ( #5127 )
...
* groom poh_recorder
* fixup
* nits
* slot() from the outside means "the slot the recorder is working on"
* remove redundant check
* review comments, put next_tick back in the "is reset" check
* remove redundant check
2019-07-17 14:10:15 -07:00
Sagar Dhawan
10d85f8366
Add weighted shuffle support for values upto u64::MAX ( #5151 )
...
automerge
2019-07-17 12:44:28 -07:00
Rob Walker
f88c72c41e
stress tweaks ( #5140 )
2019-07-16 22:04:40 -07:00
Justin Starry
bf5bce50a4
Fix stake pruning test ( #5124 )
2019-07-16 13:20:03 -04:00
Rob Walker
fe87c05423
fix transaction_count ( #5110 )
...
* fix transaction_count
* add sig count to bank hash
2019-07-15 13:42:59 -07:00
sakridge
40faaef9da
Revert "Logging ( #5017 )" ( #5096 )
...
This reverts commit b50a3bae72
.
2019-07-14 18:48:15 -07:00
Rob Walker
0d27515d09
tmp dirs target to farf ( #5079 )
2019-07-12 18:28:42 -07:00
Pankaj Garg
1c966aac25
Facility to generate a blocktree prune list using ledger tool ( #5041 )
...
automerge
2019-07-12 16:58:13 -07:00
Sagar Dhawan
7aecb87bce
Add a version field to blobs ( #5057 )
2019-07-12 13:43:19 -07:00
Michael Vines
ebcdc06dc3
Restore ledger-tool print and json commands ( #5048 )
...
* Restore ledger-tool print and json commands
* Remove obsolete read_ledger()
2019-07-11 20:33:36 -07:00
Sagar Dhawan
0a36a78133
Fix replicator segment selection ( #5046 )
2019-07-11 18:31:41 -07:00
Trent Nelson
5698d48dc8
merkle-tree: Make instantiation a little less painful ( #5037 )
...
automerge
2019-07-11 15:15:08 -07:00
Pankaj Garg
4c90898f0b
Dynamic erasure set configuration ( #5018 )
...
* Use local erasure session to create/broadcast coding blobs
* Individual session for each recovery (as the config might be different)
* address review comments
* new constructors for session and coding generator
* unit test for dynamic erasure config
2019-07-11 13:58:33 -07:00
Tyera Eulberg
b2c776eabc
Fix getProgramAccounts RPC ( #5024 )
...
* Use scan_accounts to load accounts by program_id
* Add bank test
* Use get_program_accounts in RPC
2019-07-11 12:58:28 -06:00
Sagar Dhawan
e4926e4110
Set exit when replicator run exits ( #5016 )
2019-07-10 16:27:18 -07:00
carllin
b50a3bae72
Logging ( #5017 )
...
* Add logging to replay_stage
* locktower logging
2019-07-10 15:52:31 -07:00
Sagar Dhawan
35ec7a5156
Decouple turns from segments in PoRep ( #5004 )
...
* Decouple Segments from Turns in Storage
* Get replicator local cluster tests running in a reasonable amount of time
* Fix unused imports
* Document new RPC APIs
* Check for exit while polling
2019-07-10 13:33:29 -07:00
Mark E. Sinclair
a383ea532f
Implement new Index Column ( #4827 )
...
* Implement new Index Column
* Correct slicing of blobs
* Mark coding blobs as coding when they're recovered
* Prevent broadcast stages from mixing coding and data blobs in blocktree
* Mark recovered blobs as present in the index
* Fix indexing error in recovery
* Fix broken tests, and some bug fixes
* increase min stack size for coverage runs
2019-07-10 11:08:17 -07:00
Rob Walker
f537482c86
remove set_leader from cluster_info ( #4998 )
2019-07-09 22:06:47 -07:00
Sagar Dhawan
b8e7736af2
Move SLOTS_PER_SEGMENT to genesis ( #4992 )
...
automerge
2019-07-09 16:48:40 -07:00
Rob Walker
f777a1a74c
groom replay_stage and poh_recorder ( #4961 )
...
* groom replay_stage and poh_recorder
* fixup
* fixup
* don't freeze() parent, need to review bank_forks and maybe vote...
2019-07-09 15:36:30 -07:00
carllin
22ef3c7c54
Blob verify ( #4951 )
...
* Ensure signable data is not out of range
* Add a broadcast stage that puts bad sizes in blobs
* Resign blob after modifyign size
* Remove assertions that fail when size != meta.size
2019-07-08 18:21:52 -07:00
Rob Walker
417e8d5064
fix blocktree_processor test_process_entries_stress ( #4967 )
2019-07-08 18:11:58 -07:00
Trent Nelson
1feb9bea21
Harden Merkle Tree against second pre-image attacks ( #4925 )
...
* merkle-tree: Harden against second pre-image attacks
* core/chacha: Bump test golden hash
2019-07-08 19:00:06 -06:00
Trent Nelson
c5ba2e0883
bank_forks test stability ( #4959 )
...
automerge
2019-07-08 15:55:49 -07:00
Rob Walker
eb4edd75e6
make bank commit_credits non public ( #4944 )
...
* make bank commit_credits non pub
* track down create() failure
* move bank_client to process_transaction(), which commits credits
2019-07-08 15:37:54 -07:00
Sagar Dhawan
bb6bcd79c0
Handle replicator errors without panicking ( #4955 )
...
* Handle replicator errors without panicking
* Unwelcome println
2019-07-08 12:43:35 -07:00
Sagar Dhawan
ef7022d638
Refactor replicators to not block on startup ( #4932 )
...
* Refactor replicators to not block on startup
* Ignore setup failure
2019-07-08 10:17:25 -07:00
carllin
2aac094f63
Ensure blobs are deserializable without unwrapping ( #4948 )
...
* Return result from deserializing blobs in blocktree instead of assuming deserialization will succeed
* Mark bad deserialization as dead fork
* Add test for corrupted blobs in blocktree and replay_stage
2019-07-07 14:37:12 -07:00
Rob Walker
2ec5d2c7f5
start local_cluster nodes from genesis blocks ( #4928 )
2019-07-03 14:03:52 -07:00
Rob Walker
12ef0c25b5
change vote commission to u8 (from u32) ( #4887 )
...
automerge
2019-07-02 14:18:11 -07:00
Pankaj Garg
3615445a12
Broadcast run for injecting fake blobs in turbine ( #4889 )
...
* Broadcast run for injecting fake blobs in turbine
* address review comments
* new local cluster test that uses fake blob broadcast
* added a test to make sure tvu_peers ordering is guaranteed
2019-07-01 17:54:03 -07:00
Sagar Dhawan
65adce65fa
Always send pull responses to the origin addr ( #4894 )
2019-07-01 16:49:05 -07:00
carllin
c1953dca8f
Cleanup some of banking stage ( #4878 )
...
* Add committable transactions that cause errors like InstructionErrors back to retryable list on MaxHeightReached
* Remove unnecessary logic
* Add comments/renaming for clarity
2019-07-01 12:14:40 -07:00
Tyera Eulberg
d7ed3b8024
Add RPC api to return program accounts ( #4876 )
...
automerge
2019-06-29 09:59:07 -07:00
sakridge
a89589a1d5
Add Measure abstraction over measuring time intervals ( #4851 )
...
Allows one to swap in different implementations. This provides
the normal Insant::now() -> .elapsed() path.
2019-06-29 15:34:49 +02:00
carllin
75b494d4a3
Lower warn to info, fetch from validator root instead of root + 1 ( #4870 )
...
* Lower warn to info, fetch from validator root instead of root + 1
* b/c -> because
2019-06-28 16:17:20 -07:00
sakridge
0fa1af5d47
Cleanup num_threads() and batch_limit numbers ( #4852 )
2019-06-28 10:55:24 +02:00
Tyera Eulberg
66552d7047
Credit-Only Accounts: Cache account balance for thread-safe load/store ( #4691 )
...
* Implement CreditOnlyLocks
* Update credit-only atomic on account load
* Update credit-only atomic after bank.freeze_lock; store credits if all credit-only lock references are dropped
* Commit credit-only credits on bank freeze
* Update core to CreditAccountLocks
* Impl credit-only in System Transfer
* Rework CreditAccountLocks, test, and fix bugs
* Review comments: Pass CreditAccountLocks by reference; Tighten up insert block
* Only store credits on completed slot
* Check balance in bench_exchange funding to ensure commit_credits has completed
* Add is_debitable info to KeyedAccount meta to pass into programs
* Reinstate CreditOnlyLocks check on lock_account
* Rework CreditAccountLocks to remove strong_count usage
* Add multi-threaded credit-only locks test
* Improve RwLocks usage
* Review comments: panic if bad things happen; tighter code
* Assert lock_accounts race does not happen
* Revert panic if bad things happen; not a bad thing
2019-06-27 17:25:10 -04:00
sakridge
fbea9d8621
Page-pin packet memory for cuda ( #4250 )
...
* Page-pin packet memory for cuda
Bring back recyclers and pin offset buffers
* Add packet recycler to streamer
* Add set_pinnable to sigverify vecs to pin them
* Add packets reset test
* Add test for recycler and reduce the gc lock critical section
* Add comments/tests to cuda_runtime
* Add recycler to recv_blobs path.
* Add trace/names for debug and PacketsRecycler to bench-streamer
* Predict realloc and unpin beforehand.
* Add helper to reserve and pin
* Cap buffered packets length
* Call cuda wrapper functions
2019-06-27 09:32:32 +02:00
carllin
97c97db97e
Fix early exit clearing all buffered packets ( #4810 )
2019-06-26 22:39:50 -07:00
carllin
9a52b01171
Change to crossbeam channel in banking_threads VerifiedReceiver ( #4822 )
...
* Add crossbeam channel instead of channel in banking_stage
2019-06-26 18:42:27 -07:00
Sagar Dhawan
df1c473341
Add storage point tracking and tie in storage rewards to economics ( #4824 )
...
* Add storage point tracking and tie in storage rewards to epochs and economics
* Prevent validators from updating their validations for a segment
* Fix test
* Retain syscall scoping for readability
* Update Credits to own epoch tracking
2019-06-26 10:40:03 -07:00
Rob Walker
8a64e1ddc3
add fee burning ( #4818 )
2019-06-26 10:13:21 -07:00
Justin Starry
861d6468ca
Stake weighted pruning for the gossip network ( #4769 )
...
* Stake weighted pruning
* Fix compile error
* Fix clippy errors
* Add helper for creating a connected staked network
* Bug fixes and test groundwork
* Small refactor
* Anatoly's feedback and tests
* Doc updates
* @rob-solana's feedback
* Fix test bug and add log trace
* @rob-solana's feedback
2019-06-26 00:30:16 -07:00
carllin
d6737b8cc9
Set epoch schedule in set_root in leader schedule cache ( #4821 )
2019-06-26 00:19:48 -07:00
Trent Nelson
f20ba423ca
Merklize PoH TX mixin hash ( #4644 )
2019-06-25 14:44:27 -06:00
Sathish
9e7f618cff
Set proper count value for account stores ( #4797 )
...
* set count values for store accounts
* Use AppendVecId type
2019-06-25 07:21:45 -07:00
Sagar Dhawan
74a06e4230
Update thinclient to resend the same tx until its blockhash expires ( #4807 )
2019-06-24 16:46:34 -07:00
Pankaj Garg
3f8ff23125
Forward transactions to the leader for next Nth slot ( #4806 )
...
* review comments
2019-06-24 15:56:50 -07:00
anatoly yakovenko
29611fb61d
tower consensus naming ( #4598 )
...
s/locktower/tower/g
2019-06-24 13:41:23 -07:00
Sagar Dhawan
11992946a4
Add storage reward pools ( #4779 )
2019-06-22 17:18:35 -07:00
Trent Nelson
8acbb4ab2f
Bank cap rpc ( #4774 )
...
* core/rpc: Name magic number for minted lamports in tests genesis block
* core/rpc: Expose bank::capitalization() via getSolTotalSupply RPC method
* book: Add entry for getTotalSupply RPC method
2019-06-21 21:00:26 -07:00
Rob Walker
a49f5378e2
rewrite vote credits redemption to eat from rewards_pools on an epoch-sensitive basis ( #4775 )
...
* move redemption to rewards pools
* rewrite redemption, touch a few other things
* re-establish test coverage
2019-06-21 20:43:24 -07:00
Michael Vines
f39e74f0d7
serde the full FeeCalculator ( #4778 )
...
automerge
2019-06-21 17:23:26 -07:00
Sagar Dhawan
22b767308a
Add insturctions to run a replicator on testnet ( #4733 )
2019-06-21 16:32:23 -07:00
carllin
06ba0b7279
Remove holding cluster_info lock while forwarding packets ( #4773 )
2019-06-21 15:21:49 -07:00
Sagar Dhawan
da925142d1
Update replicator ports and silence socket timeout on windows ( #4770 )
...
automerge
2019-06-21 11:28:52 -07:00
Michael Vines
36c9e22e3d
Revert "Dynamic erasure ( #4653 )"
...
This reverts commit ada4d16c4c
.
2019-06-20 20:53:03 -07:00
Mark E. Sinclair
ada4d16c4c
Dynamic erasure ( #4653 )
...
Remove erasure-related constants
Remove unneeded `Iterator::collect` call
Document erasure module
Randomize coding blobs used for repair
2019-06-20 20:27:41 -05:00
carllin
aacb38864c
Mark dead forks in replay stage ( #4715 )
...
* Add DeadSlots column family
* Filter dead forks from get_slots_since
* Mark erroring slots as dead in replay stage, add test
* Mark dead forks in progress instead of removing them
* Fix logging process_entries failures in replay_stage
* Unignore test_fail_entry_verification_leader
2019-06-20 15:50:41 -07:00
Pankaj Garg
9800e09431
Thread pool for par_iter in EntrySlice::verify ( #4732 )
...
* Use thread pool for entry verify par iter
* some performance metrics
* check batch size and use CPU for smaller batches
2019-06-19 16:31:32 -07:00
carllin
61483c18ca
Change seed for retransmit to use blob signature ( #4727 )
...
* Switch seed for retransmit to use blob signature
* Use seed_len
* Use last bytes of signature as seed instead of first bytes
2019-06-19 15:36:06 -07:00
Rob Walker
41fbdc6e08
use stake ( #4721 )
2019-06-19 11:54:52 -07:00
carllin
46bb79df29
Support for custom BroadcastStage in local cluster tests ( #4716 )
...
* Refactor BroadcastStage to support custom implementations, add FailEntryVerificationBroadcastRun implementation
* Plumb switch on broadcast type through validator
* Add test for validator generating non-verifiable entries to local_cluster
* Fix bad initializers
* Refactor broadcast run code into utils
2019-06-19 00:13:19 -07:00
Sathish Ambley
8b41a5d725
periodically save config in separate folders
2019-06-17 22:48:27 -07:00
Sathish Ambley
7fd879b417
Restart validator nodes from snapshots
2019-06-17 22:48:27 -07:00
Sathish Ambley
dc5c6e7cf8
validator restart
2019-06-17 22:48:27 -07:00
Michael Vines
feeaad619a
Avoid panic if no rpc peers exist
2019-06-17 19:47:45 -07:00
Sagar Dhawan
cc48773b03
Add "download from replicator" utility ( #4709 )
...
automerge
2019-06-17 18:12:13 -07:00
Sagar Dhawan
8fbf0e2d9f
Update replicators to use the storage blockhash to generate offsets ( #4712 )
2019-06-17 16:39:26 -07:00
Michael Vines
5bf87de136
Add obvious log message indicating CUDA feature state
2019-06-17 11:01:55 -07:00
Rob Walker
4c6a6d63bf
add MiningPools, fund validator MiningPools from inflation ( #4676 )
...
* add MiningPool fund validator MinigPools from inflation
* fixup
* finish rename of MINIMUM_SLOT_LENGTH to MINIMUM_SLOTS_PER_EPOCH
* deterministic miningpool location
* point_value, not credit_value... use f64
2019-06-14 11:38:37 -07:00
Sagar Dhawan
119467df59
Add storage mining pool to genesis and implement automatic reward redeeming ( #4683 )
...
* Add storage mining pool to genesis and implement automatic reward collection
* Address review comments
2019-06-13 22:30:51 -07:00
Sagar Dhawan
b1ac8f933b
Fix storage program space issues and limit storage transaction data ( #4677 )
2019-06-13 17:53:54 -07:00
Michael Vines
8628f33d0b
Fix HostId field in the testnet dashboard
2019-06-13 16:09:09 -07:00
carllin
8c1b9a0b67
Data plane verification ( #4639 )
...
* Add signature to blob
* Change Signable trait to support returning references to signable data
* Add signing to broadcast
* Verify signatures in window_service
* Add testing for signatures to erasure
* Add RPC for getting current slot, consume RPC call in test_repairman_catchup for more deterministic results
2019-06-12 16:43:05 -07:00
Michael Vines
d807217be7
Simplify and camelCase getEpochVoteAccounts RPC API ( #4658 )
...
* Simplify and camelCase getEpochVoteAccounts RPC API
* Set a commission for testing
2019-06-12 14:12:08 -07:00
Sagar Dhawan
8019bff391
Fixes for storage program and rework storage stage ( #4654 )
...
automerge
2019-06-11 18:27:47 -07:00
Rob Walker
697228a484
rpc vote_accounts by ecurrent pocch, not stakers epoch ( #4651 )
2019-06-11 16:57:47 -07:00
Rob Walker
3217a1d70c
use highest staked node as bootstrap leader, remove bootstrap_leader from genesis_block ( #4635 )
...
* use highest staked node as bootstrap leader, remove bootstrap_leader from genesis_block
* clippy
* fixup
* fixup
2019-06-11 11:44:58 -07:00
Rob Walker
e56430c9fb
make runtime depend on bpf_loader ( #4601 )
...
* make runtime depend on bpf_loader
* remove vote redundancy, move bpf_loader to genesis, export program\! from bpf_loader crate
* move bpf_loader specification into genesis
* bpf tests to use genesis with bpf
* need to avoid depending on programs, except for macros
2019-06-11 10:27:22 -07:00
Michael Vines
e4d8ea11ac
Make lamports_per_signature dynamic based on cluster load ( #4562 )
...
* Make lamports_per_signature dynamic based on cluster load
* Move transaction-fees.md to implemented
2019-06-10 22:18:32 -07:00
carllin
a4035a3c65
Remove record locks and parent locks from accounts ( #4633 )
...
* Revert "Fix parent record locks usage in child banks (#4159 )"
This reverts commit 69eeb7cf08
.
* Revert "Fix DuplicateSignatures caused by races on frozen banks (#3819 )"
This reverts commit 083090817a
.
* Remove unused imports
2019-06-10 22:05:46 -07:00
Rob Walker
a18c0e34f4
add activate_stake to stake_api ( #4600 )
2019-06-10 12:17:29 -07:00
Michael Vines
0dbe5ee559
Add chacha-sys crate ( #4620 )
...
* af9ff9c7f9/src/cpu-crypt
* Add chacha-sys crate
* Remove chacha feature
* Remove erasure feature
* Add .gitignore
2019-06-10 07:14:02 -07:00
TristanDebrunner
0c4cb76acf
Add GPU based PoH verification ( #4524 )
...
* Add GPU poh verify
* Switch to single PoH verify function
* Add EntrySlice verify tests with hashes and txs
* Add poh-verify benchmarks
2019-06-08 10:21:43 -06:00
Pankaj Garg
ac6dbf8f04
Broadcast blobs even if the peers have no stake ( #4597 )
2019-06-07 14:12:27 -07:00
carllin
c9d63204eb
Replace unneeded seqcst with relaxed on atomic operations ( #4587 )
2019-06-06 23:53:21 -07:00
Pankaj Garg
194491ae96
Removed some dead code ( #4563 )
...
* Removed some dead code
* remove dead code from Replicator
2019-06-06 14:26:12 -07:00
anatoly yakovenko
82df267ec9
s/avalanche/turbine ( #4561 )
...
* s/avalanche/turbine/g
2019-06-06 12:48:40 -07:00
Michael Vines
8ec5a47027
Add EntryWriter::write() stub for windows ( #4546 )
2019-06-04 20:15:37 -07:00
carllin
5bd3eb4557
Up number of threads ( #4541 )
2019-06-04 18:01:28 -07:00
Sagar Dhawan
de5cad9211
Add account owner to Storage Accounts ( #4537 )
...
* Add account owner to Storage Accounts
* Fix tests
2019-06-04 14:52:52 -07:00
Pankaj Garg
70a16e91a5
Randomize avalanche broadcast peer table for each blob ( #4529 )
...
* fix clippy warnings
2019-06-03 20:38:05 -07:00
Sagar Dhawan
a77775cb58
Move validation submissions into its own fn ( #4528 )
...
automerge
2019-06-03 18:27:06 -07:00
Sagar Dhawan
167e15a5ae
Update replicator sampling and proof generation ( #4522 )
...
* Update replicator sampling and proof generation
* Clippy
2019-06-03 17:27:28 -07:00
Rob Walker
c56052ff16
remove from_account from stake_instruction ( #4502 )
2019-06-03 09:04:51 -07:00
Pankaj Garg
3574469052
Add random distribution for avalanche peers ( #4493 )
...
* Add random distribution for avalanche peers
* fix clippy warnings
* bug fixes
* nits
2019-06-01 07:55:43 -07:00
Rob Walker
028e111fbc
remove payer from vote instructions ( #4475 )
2019-05-31 11:45:17 -07:00
Sathish
182096dc1a
Create bank snapshots ( #4244 )
...
* Revert "Revert "Create bank snapshots (#3671 )" (#4243 )"
This reverts commit 81fa69d347
.
* keep saved and unsaved copies of status cache
* fix format check
* bench for status cache serialize
* misc cleanup
* remove appendvec storage on purge
* fix accounts restore
* cleanup
* Pass snapshot path as args
* Fix clippy
2019-05-30 21:31:35 -07:00
Sagar Dhawan
b8aff218e2
Shutdown all services before bailing replicator init ( #4487 )
...
automerge
2019-05-30 14:36:47 -07:00
Michael Vines
39b40dfff8
Remove runtime dependency on storage ( #4480 )
2019-05-30 10:54:28 -07:00
carllin
348c2263ba
Remove genesis blockhash ( #4471 )
...
* Remove genesis blockhash
* Remove genesis blockhash from tests
* Fix golden
2019-05-29 17:29:02 -07:00
Pankaj Garg
b5324063f1
Use thread pools for rayon par_iter ( #4473 )
...
* Use thread pools for rayon par_iter
* address review comments
* cleanup
2019-05-29 17:16:36 -07:00
Sagar Dhawan
6ed071c4dd
Fix storage stage operating on empty slots ( #4474 )
...
* Fix storage stage operating on empty slots
* Reduce fn argument count
* Fix tests
2019-05-29 15:01:20 -07:00
sakridge
4404634b14
Coalesce packets better ( #4456 )
2019-05-29 12:17:50 -07:00
Rob Walker
6a1de33138
tighten up packets_to_blobs ( #4464 )
...
* tighten up packets_to_blobs
* missed a test
2019-05-29 10:08:35 -07:00
carllin
534244b322
Fix set_roots to use cached bank parents instead of searching blocktree ( #4466 )
2019-05-29 09:43:22 -07:00
Sagar Dhawan
335dfdc4d5
Fix Gossip skipping push for some values ( #4463 )
...
* Make gossip skip over values from Pruned nodes
* Add test and init blooms to contain the origin
2019-05-28 18:39:40 -07:00
Pankaj Garg
c8a03c7b3d
Save RNG for generating random storage sampling offsets ( #4450 )
...
* Save RNG for generating random storage sampling offsets
* fix clippy
* fix stable-perf
* fix chacha
2019-05-28 14:14:46 -07:00
sakridge
5340800cea
Add some optimizing to ThinClient ( #4112 )
...
Can create a multi-socketed ThinClient which will use request time
from get_recent_blockhash to tune for the best node to talk to.
2019-05-27 20:54:44 -07:00
carllin
65f89d6729
Bump logging level of validator procsesing errors ( #4442 )
2019-05-27 16:19:38 -07:00
carllin
aa3c00231a
Fix should_update check to update EpochSlots in gossip ( #4435 )
...
automerge
2019-05-25 06:44:40 -07:00
carllin
d772a27936
Plumb ClusterInfoRepairListener ( #4428 )
...
automerge
2019-05-24 19:20:09 -07:00
Rob Walker
0302f13b97
add datapoint for corrupt vote_account ( #4424 )
2019-05-24 18:34:56 -07:00
Pankaj Garg
1f71d05299
remove copying of forwarded packets ( #4425 )
...
automerge
2019-05-24 17:35:09 -07:00
Sagar Dhawan
4c9b7c9d2b
Submit all incoming proofs as valid ( #4377 )
2019-05-24 14:49:10 -07:00
carllin
cf4bb70d80
Rename id to pubkey in cluster_info_repair_listener ( #4421 )
2019-05-24 04:31:32 -07:00
carllin
57f8a15b96
Fix issues in ClusterInfoRepairListener ( #4418 )
...
* Sort repairmen before shuffling so order is the same across all validators
* Reduce repair redundancy to 1 for now
* Fix local cache of roots so that 1) Timestamps are only updated to acknowledge a repair was sent 2) Roots are updated even when timestamps aren't updated to keep in sync with network
* Refactor code, add test
2019-05-24 00:47:51 -07:00
Michael Vines
cfe5afd34c
_id => _pubkey variable renaming ( #4419 )
...
* wallet: rename *_account_id to *_account_pubkey
* s/from_id/from_pubkey/g
* s/node_id/node_pubkey/g
* s/stake_id/stake_pubkey/g
* s/voter_id/voter_pubkey/g
* s/vote_id/vote_pubkey/g
* s/delegate_id/delegate_pubkey/g
* s/account_id/account_pubkey/g
* s/to_id/to_pubkey/g
* s/my_id/my_pubkey/g
* cargo fmt
* s/staker_id/staker_pubkey/g
* s/mining_pool_id/mining_pool_pubkey/g
* s/leader_id/leader_pubkey/g
* cargo fmt
* s/funding_id/funding_pubkey/g
2019-05-23 23:20:04 -07:00
Michael Vines
94beb4b8c2
More fullnode -> validator renaming ( #4414 )
...
* s/fullnode_config/validator_config/g
* s/FullnodeConfig/ValidatorConfig/g
* mv core/lib/fullnode.rs core/lib/validator.rs
* s/Fullnode/Validator/g
* Add replicator-x.sh
* Rename fullnode.md to validator.md
* cargo fmt
2019-05-23 22:05:16 -07:00
Rob Walker
35e8f966e3
add freeze_lock() and fix par_process_entries() failure to detect self conflict ( #4415 )
...
* add freeze_lock and fix par_process_entries failure to detect self conflict
* fixup
* fixup
2019-05-23 17:35:15 -07:00
Michael Vines
b37d2fde3d
Add storage mining pool ( #4364 )
...
* Add storage mining pool
* Set gossip port
* Add create-storage-mining-pool-account wallet command
* Add claim-storage-reward wallet command
* Create storage account upfront
* Add storage program to genesis
* Use STORAGE_ACCOUNT_SPACE
* Fix tests
* Add wallet commands to create validator/replicator storage accounts
* Add create_validator_storage_account()
* Storage stage no longer implicitly creates a storage account
2019-05-23 14:50:23 -07:00
carllin
6a9e0bc593
Change EpochSlots to use BtreeSet so that serialization/deserialization returns the same order ( #4404 )
...
automerge
2019-05-23 03:50:41 -07:00
carllin
591fd72e0b
Implement listener for serving repairs through Repairman protocol ( #4306 )
...
* Make listener for serving repairs through Repairman protocol
2019-05-23 03:10:16 -07:00
Michael Vines
2ed77b040a
create_genesis_block() now returns a struct ( #4403 )
2019-05-22 20:39:00 -07:00
Pankaj Garg
b8f6c17dee
Don't filter transactions if we are buffering it locally ( #4395 )
...
automerge
2019-05-22 17:54:28 -07:00
Pankaj Garg
36019cb1e3
Tweaks to real PoH based on perf testing ( #4396 )
...
* Some counters for real poh perf analysis
* more metrics
* Comment on CPU affinity change, and reduce hash batch size based on TPS perf
* review comments
2019-05-22 15:54:24 -07:00
Tyera Eulberg
99d2428041
Transaction format changes toward Credit-Only accounts ( #4386 )
...
* Add num_readonly_accounts slice
* Impl programs in account_keys
* Emulate current account-loading functionality using program-account_keys (breaks exchange_program_api tests)
* Fix test
* Add temporary exchange faucet id
* Update chacha golden
* Split num_credit_only_accounts into separate fields
* Improve readability
* Move message field constants into Message
* Add MessageHeader struct and fixup comments
2019-05-22 18:23:16 -04:00
Pankaj Garg
eef2bdf690
Add CPU affinity for PoH service thread ( #4394 )
...
automerge
2019-05-22 14:21:43 -07:00
Rob Walker
578c2ad3ea
add bank hash to votes ( #4381 )
2019-05-21 21:45:38 -07:00
sakridge
52d453d06f
Reduce broadcast prints ( #4368 )
2019-05-21 17:02:19 -07:00
Sagar Dhawan
c9ba9e4eb7
Add storage space constant ( #4366 )
...
automerge
2019-05-21 11:07:13 -07:00
sakridge
f877fb8c8f
Don't print leader update message unless leader actually updates ( #4365 )
2019-05-21 11:06:56 -07:00
Michael Vines
6374e69a69
Add mining pool wallet commands ( #4360 )
...
automerge
2019-05-21 07:32:38 -07:00
carllin
1a77486f8e
Make RootedSlotsIterator for traversing slots on the root fork ( #4361 )
2019-05-20 23:09:00 -07:00
Rob Walker
ead15d294e
add get_epoch_vote_accounts rpc ( #4317 )
...
* add get_epoch_vote_accounts rpc
* fixups
* documentation and type updates
2019-05-20 22:21:13 -07:00
carllin
f1e5edee14
Modify Roots Column To Support Multiple Roots ( #4321 )
...
* Fix 1) Roots column family to handle storing multiple slots, 2) Store all slots on the rooted path in the roots column family
2019-05-20 19:04:18 -07:00
sakridge
7153abd483
Revert "Performance tweaks ( #4340 )" ( #4350 )
...
* Revert "Performance tweaks (#4340 )"
This reverts commit 55cee5742f
.
* Revert Rc change
2019-05-20 17:48:42 -07:00
Sagar Dhawan
af82b0dce9
Fix sending root slots instead of current slot ( #4354 )
...
automerge
2019-05-20 15:01:55 -07:00
Rob Walker
86e03a6d1b
support issuing vote instructions from system account ( #4338 )
...
* issue vote instructions from system account
* fixup
* bring back KeypairUtil
2019-05-20 13:32:32 -07:00
Michael Vines
114e2989fa
Improve PoH unit test asserts ( #4351 )
...
automerge
2019-05-20 13:02:44 -07:00
sakridge
7024c73e9b
Revert banking threads increase which seems to be slower in testing. ( #4349 )
2019-05-20 11:42:37 -07:00
Michael Vines
f079a78c5e
Remove fee arg from system_transaction::* ( #4346 )
...
automerge
2019-05-20 10:03:19 -07:00
Michael Vines
6365c4c061
Use cleanup ( #4347 )
2019-05-20 09:58:27 -07:00
sakridge
55cee5742f
Performance tweaks ( #4340 )
...
* Use Rc to prevent clone of Packets
* Fix min => max in banking_stage threads.
Coalesce packet buffers better since a larger batch will
be faster through banking and sigverify.
Deconstruct batches into banking_stage from sigverify since
sigverify likes to accumulate batches but then a single banking_stage
thread will be stuck with a large batch. Maximize parallelism by
creating more chunks of work for banking_stage.
2019-05-20 09:15:00 -07:00
Michael Vines
034eda4546
Fix a couple replicator nits ( #4345 )
...
automerge
2019-05-20 08:55:45 -07:00
Sagar Dhawan
06eb2364f2
Handle missed slots in storage stage ( #4337 )
...
* Handle missed slots in storage stage
* Fix test compile
* Make test use the new missed slot support
2019-05-18 15:24:50 -07:00
Michael Vines
392a39dd54
Poh subsystem cleanup, genesis plumbing, enable real PoH on edge testnet ( #4292 )
...
* Remove unused PohServiceConfig::Step
* Clarify variable name
* Poh::hash() now takes an iteration counter
* man -> max
* Inline functions with single call site
* Move PohServiceConfig into GenesisBlock
* Add plumbing to enable real PoH on testnets
* Batch hashes to improve PoH hash rate
* Ensure a constant hashes_per_tick
* Remove PohEntry mixin field
* Poh/PohEntry no longer maintains tick_height
* Ensure a constant hashes_per_tick
* ci/localnet-sanity.sh: Use real PoH
* Rework Poh/PohService to keep PohRecorder unlocked as much as possible while hashing
2019-05-18 14:01:36 -07:00
Pankaj Garg
9476fe5ce3
Use log levels for datapoint metrics ( #4335 )
...
* Use log levels for datapoint metrics
* address review comments
* fix cyclomatic complexity
2019-05-17 17:34:05 -07:00
Sagar Dhawan
788290ad82
Rework Storage Program to accept multiple proofs per segment ( #4319 )
...
automerge
2019-05-17 14:52:54 -07:00
Pankaj Garg
b2ce5dc9f5
Adjust log level for counter metrics ( #4323 )
2019-05-17 07:00:06 -07:00
Pankaj Garg
e920191de0
Rate limit metrics per log level ( #4313 )
...
* Rate limit metrics per log level
* fix tests
2019-05-16 22:27:05 -07:00
Rob Walker
39e85a3e53
kill some bs58 ( #4316 )
...
* kill some bs58
* fixup
2019-05-16 21:43:18 -07:00
carllin
b3e45fd6b7
Add erroring tx to unexpected validator error logging ( #4314 )
...
* Add tx logging to error
* Add tx logging to unexpected validator errors
2019-05-16 14:59:22 -07:00
Rob Walker
87414de3e2
switch over to passive stakes ( #4295 )
...
* add failing test
* switch over to passive stakes
* test multiple stakers
2019-05-16 08:23:31 -07:00
Sagar Dhawan
a0ffbf50a5
Correctly remove replicator from data plane after its done repairing ( #4301 )
...
* Correctly remove replicator from data plane after its done repairing
* Update discover to report nodes and replicators separately
* Fix print and condition to be spy
2019-05-16 07:14:58 -07:00
carllin
abd7f6b090
Change slot_meta_iterator() to return an iterator not a cursor ( #4303 )
...
automerge
2019-05-15 18:28:23 -07:00
Sagar Dhawan
d8735df1de
Update replicator to use cluster_info instead of cached client ( #4302 )
2019-05-15 18:14:04 -07:00
Sagar Dhawan
fd3f2cb910
Add Storage accounts for all nodes ( #4298 )
...
* Setup storage keypairs for all nodes
* Clean up naming
* clippy
* Update arg value_names
2019-05-15 15:19:29 -07:00
Sagar Dhawan
4576250342
Fix bug in storage processor and remove duplicate Constant ( #4294 )
...
* Fix bug in storage processor and remove duplicate Constant
* Add test
* Bump replicator timeout
2019-05-15 13:28:56 -07:00
Rob Walker
628128b376
add passive staking to local_cluster ( #4285 )
...
* add passive staking to local_cluster
* add stake_program to genesis
* use equal stakes in local_cluster tests
2019-05-15 12:15:31 -07:00
Sagar Dhawan
916017ca2c
Fix repair for a range of slots ( #4286 )
...
* Fix repair for a range of slots
* Delete RepairInfo
2019-05-15 11:37:20 -07:00
carllin
a79fbbafc9
SlotMeta is incorrectly updated on insertion of erasure blobs ( #4289 )
...
* Fix put_coding_blob_bytes to properly update slotmetas and chaining
2019-05-15 00:28:31 -07:00