250 Commits

Author SHA1 Message Date
sakridge
baa9602411
Add shrink paths (#14238) 2020-12-21 21:33:37 -08:00
Michael Vines
8082a2454c Allow multiple --accounts arguments 2020-12-21 07:39:23 +00:00
Ryo Onodera
3c9b853268
Reject invalid --expected-shred-version (#14183)
* Reject invalid --expected-shred-version

* less code
2020-12-18 07:01:26 +00:00
sakridge
da7d1e2302
Improved Transaction Forwarding (#13944)
* Forwarding

* Dedupe leaders

* Use consistent commitment for last_valid_slot in rpc send_transaction

* Plumb rpc send_transaction options into solana-validator

* Extend num slots banking-stage holds forwarded txs

Co-authored-by: Tyera Eulberg <tyera@solana.com>
2020-12-17 15:37:22 -07:00
Michael Vines
8d700c3b94 Use an ephemeral mint address if the client keypair is not available
Typically this can occur in a CI environment
2020-12-16 20:43:08 -08:00
Michael Vines
aeda8d8b91 Remove stray println 2020-12-15 16:44:31 -08:00
Michael Vines
00c46c528e Add --reset flag to allow for easy ledger reset 2020-12-15 21:51:37 +00:00
Michael Vines
f3272db7f7 Prevent multiple test-validators from using the same ledger directory 2020-12-15 21:51:37 +00:00
Michael Vines
cdd3e7d856
Remove solana-vote-signer (#14099) 2020-12-13 19:12:20 -08:00
Michael Vines
9f2d154588 Rework TestValidator API to be more like ProgramTest 2020-12-13 07:45:55 +00:00
Michael Vines
bbad3fe501 TestValidator now implements Drop, no need to close() it 2020-12-11 04:17:38 +00:00
Michael Vines
0a9ff1dc9d Initial solana-test-validator command-line program 2020-12-11 04:17:38 +00:00
Michael Vines
6e9dbb4f6e Add --rpc-max-multiple-accounts to override the getMultipleAccounts JSON RPC maximum 2020-12-07 16:31:01 -08:00
Ryo Onodera
2f374df494
Don't show confusing message for blacklist expires (#13983) 2020-12-07 12:47:27 +00:00
Alexander Meißner
a706706572
Validator CLI option to enable just-in-time compilation of BPF (#13789)
* Adds a CLI option to the validator to enable just-in-time compilation of BPF.

* Refactoring to use bpf_loader_program instead of feature_set to pass JIT flag from the validator CLI to the executor.
2020-12-07 09:49:55 +01:00
Tyera Eulberg
10c81a2448
Remove rpc_banks from validator (#13882)
* Remove rpc_banks from validator

* Bump abi-digest
2020-12-02 03:25:09 +00:00
Michael Vines
254790f8c8 Fully clean up temporary snapshot staging directories 2020-11-30 19:40:06 -08:00
Michael Vines
aebf12e28d Add --maximum-local-snapshot-age argument 2020-11-28 09:09:55 +00:00
sakridge
c1eb350c47
Allow contact debug interval to be adjusted (#13737) 2020-11-20 14:47:37 -08:00
Michael Vines
5d72e52ad0 Disable the PubSub vote subscription by default
The --rpc-pubsub-enable-vote-subscription flag may be used to enable it.
The current vote subscription is problematic because it emits a
notification for *every* vote, so hundreds a second in a real cluster.
Critically it's also missing information about *who* is voting,
rendering all those notifications practically useless.

Until these two issues can be resolved, the vote subscription is not
much more than a potential DoS vector.
2020-11-14 12:36:37 -08:00
Michael Vines
328f59ebef --gossip-host may now be specified with --entrypoint 2020-11-13 06:20:15 +00:00
sakridge
7ee0c9e68a
Add non-progress bar download status (#13370) 2020-11-04 10:32:27 -08:00
Justin Starry
8b0242a5d8
Allow nodes to advertise a different rpc address over gossip (#13053)
* Allow nodes to advertise a different rpc address over gossip

* Feedback
2020-10-22 03:31:48 +00:00
Ryo Onodera
81489ccb76
Only fetch snapshot if it's newer than local (#12663)
* Only fetch snapshot if it's newer than local

* Prefer as_ref over clone

* More nits

* Don't wait forwever for newer snapshot
2020-10-09 15:05:41 +09:00
Ryo Onodera
aa70dbfc62
Add --no-port-check to validator (#12245) 2020-10-02 20:36:41 +09:00
Michael Vines
f41a73d76a Expose validator cli arguments for pubsub buffer tuning 2020-10-01 20:30:40 -07:00
sakridge
68e5a2ef56
Add RPC notify and banking keys debug (#12396) 2020-09-23 18:46:42 -07:00
Michael Vines
65b247a922 Bind to correct RPC addresses 2020-09-20 07:32:25 +00:00
Michael Vines
76dada3118 Use validator_config for RPC address instead of cluster_info for port verification checks 2020-09-20 02:34:20 +00:00
Michael Vines
1a03afccb1 validator/ cleanup 2020-09-19 08:35:26 -07:00
Ryo Onodera
cb8661bd49
Persistent tower (#10718)
* Save/restore Tower

* Avoid unwrap()

* Rebase cleanups

* Forcibly pass test

* Correct reconcilation of votes after validator resume

* d b g

* Add more tests

* fsync and fix test

* Add test

* Fix fmt

* Debug

* Fix tests...

* save

* Clarify error message and code cleaning around it

* Move most of code out of tower save hot codepath

* Proper comment for the lack of fsync on tower

* Clean up

* Clean up

* Simpler type alias

* Manage tower-restored ancestor slots without banks

* Add comment

* Extract long code blocks...

* Add comment

* Simplify returned tuple...

* Tweak too aggresive log

* Fix typo...

* Add test

* Update comment

* Improve test to require non-empty stray restored slots

* Measure tower save and dump all tower contents

* Log adjust and add threshold related assertions

* cleanup adjust

* Properly lower stray restored slots priority...

* Rust fmt

* Fix test....

* Clarify comments a bit and add TowerError::TooNew

* Further clean-up arround TowerError

* Truly create ancestors by excluding last vote slot

* Add comment for stray_restored_slots

* Add comment for stray_restored_slots

* Use BTreeSet

* Consider root_slot into post-replay adjustment

* Tweak logging

* Add test for stray_restored_ancestors

* Reorder some code

* Better names for unit tests

* Add frozen_abi to SavedTower

* Fold long lines

* Tweak stray ancestors and too old slot history

* Re-adjust error conditon of too old slot history

* Test normal ancestors is checked before stray ones

* Fix conflict, update tests, adjust behavior a bit

* Fix test

* Address review comments

* Last touch!

* Immediately after creating cleaning pr

* Revert stray slots

* Revert comment...

* Report error as metrics

* Revert not to panic! and ignore unfixable test...

* Normalize lockouts.root_slot more strictly

* Add comments for panic! and more assertions

* Proper initialize root without vote account

* Clarify code and comments based on review feedback

* Fix rebase

* Further simplify based on assured tower root

* Reorder code for more readability

Co-authored-by: Michael Vines <mvines@gmail.com>
2020-09-19 14:03:54 +09:00
Michael Vines
98cfe92745 Rework snapshot download logic to be more forgiving when --expected-shred-version is not provided 2020-09-16 20:34:02 +00:00
Ryo Onodera
b85e8497b5
Really skip private rpc port reachable checks (#12239) 2020-09-15 16:36:15 +00:00
Michael Vines
daae638781 Add --gossip-validator argument 2020-09-14 20:18:27 -07:00
Michael Vines
63a67f415e Add --restricted-repair-only-mode flag 2020-09-14 20:18:27 -07:00
Michael Vines
bdf5274d18 Default snapshot compression is now included in --help output 2020-09-11 18:08:34 +00:00
Michael Vines
6f325d4594 solana-validator --rpc-bind-address argument now works as expected 2020-09-10 13:36:13 -07:00
Michael Vines
9ade73841f Default snapshot compression to zstd instead of bzip2 for quicker snapshot generation 2020-09-06 22:48:12 -07:00
Michael Vines
d8e2038dda Add --enable-bigtable-ledger-upload flag 2020-09-04 16:01:49 -07:00
sakridge
9b9d559312
Increase message_processor logging to error level (#11945) 2020-08-31 13:11:12 -07:00
Michael Vines
f8bb93a0f4 Bump RPC banks up 1 port to avoid web3.js wss port conflict 2020-08-31 06:34:15 +00:00
carllin
c8d67aa8eb
Add option for repairing only from trusted validators (#11752)
Co-authored-by: Carl <carl@solana.com>
2020-08-21 00:35:11 -07:00
Michael Vines
ea88bbdc33 Do not delete any ledger when --limit-ledger-size is not provided 2020-08-20 16:15:27 +00:00
Greg Fitzgerald
bad486823c
Add a client for BankForks (#10728)
Also:
* Use BanksClient in solana-tokens
2020-08-07 08:45:17 -06:00
Michael Vines
dfae9a9864 Plumb Bigtable ledger storage into the RPC subsystem 2020-08-05 14:27:12 -07:00
Michael Vines
1d40685b8e Remove support for 1.1.0 version snapshots 2020-08-04 01:01:50 +00:00
sakridge
b85538c532
Turn off gossip before downloading snapshot. (#11087) 2020-07-16 17:05:52 -07:00
sakridge
960f6f6f07
Decouple genesis fetch and snapshot fetch (#10931) 2020-07-06 16:09:12 -07:00
sakridge
58a475b789
Add db recovery methods (#10838) 2020-07-06 12:43:45 -07:00
sakridge
1ffad2d051
More guard rails for restart with ledger procedure (#10853)
* Add expected_bank_hash required for supermajority
* Print snapshot hash in ledger-tool create-snapshot.
2020-06-30 12:43:48 -07:00