Commit Graph

1132 Commits

Author SHA1 Message Date
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