Commit Graph

203 Commits

Author SHA1 Message Date
Pankaj Garg 49df1c47e8
Use batch send in bench-tps to send transactions (#27527)
* Use batch send in bench-tps to send transactions

* serialize using par iter
2022-09-01 17:32:23 +00:00
kirill lykov e446c5123e
add use_durable_nonce option (#27151)
* add use_durable_nonce option

* log creating nonce account in bench-tps

* try get account data in a loop

* Get account with commitment for nonce in bench-tps

* use get_multiple_accounts in bench-tps

* split accounts request into chunks
2022-08-26 22:08:27 +02:00
kirill lykov 8c81ed0203
add get_multiple_accounts to BenchTpsClient (#27379) 2022-08-25 15:44:37 +02:00
Tyera Eulberg b8b3d723da
Use new client crates (#27360)
* Update ancillary cli crates

* Update cli

* Update command-line tools

* Update rpc, etc

* Update client-test

* Update core, validator

* Update local-cluster
2022-08-24 10:47:02 -06:00
Will Hickey dba2fd5a16
Enable QUIC client by default. Add arg to disable QUIC client. (Forward port #26927) (#27194)
Enable QUIC client by default. Add arg to disable QUIC client.

* Enable QUIC client by default. Add arg to disable QUIC client.
* Deprecate --disable-quic-servers arg
* Add #[ignore] annotation to failing tests
2022-08-19 09:15:15 -05:00
kirill lykov fda395af83
Add get_account_with_commitment to BenchTpsClient (#27176) 2022-08-18 10:17:32 +02:00
kirill lykov 014a926645
Bench tps add nonce flag (#27030)
* add durable nonce option

* make blockhash thread optional

* add nonce test to bench-tps
2022-08-13 13:01:25 +02:00
Tao Zhu 6c58acf73e
add subcommand to set randomized compute-unit-price to transactions. (#26891)
* add subcommand to set randomized compute-unit-price to transactions.

* add compute-unit-limit to limit additional cost from prioritization.

* increase funding if use_randomized_compute_unit_price is enabled.
2022-08-11 20:59:17 -05:00
kirill lykov 5b879067e6
Bench tps: refactor client creation (#26862)
* relax Sized restriction functions using client

* extract function to build client
2022-08-05 10:51:15 +02:00
Will Hickey 0f4b858224
Revert "Enable QUIC client by default. Add arg to disable QUIC client… (#26913)
Revert "Enable QUIC client by default. Add arg to disable QUIC client. (#26879)"

This reverts commit 4c29750095.
2022-08-04 13:26:43 -05:00
Will Hickey 4c29750095
Enable QUIC client by default. Add arg to disable QUIC client. (#26879) 2022-08-03 10:39:55 -05:00
kirill lykov ddfa64dcd9
add withdraw durable nonce (#26829)
* add withdraw durable nonce

* Use Pubkey instead of Keypair in bench-tps withdraw

Before &Keypair was passed although it is not necessary because nonce
doesn't sign withdraw account transactions anyways.
2022-07-30 14:22:00 +02:00
kirill lykov 8465a3aa46
Create nonce keypair chunks (#26670)
* extract KeypairChunks structure

* introduce durable nonce in TransactionChunkGenerator

* Introduce TimestampedTransaction with optional timestamp
2022-07-21 14:50:23 +02:00
kirill lykov 3929ad67eb
Refactor bench-tps chunking transactions logic (#26661)
Refactor bench-tps chunking txs
2022-07-19 13:13:24 +02:00
kirill lykov c4ec031daa
add create durable nonce accounts (#26513)
* add create durable nonce accounts

* extract common logic into method

* add test

* got rid of unnecessary Result
2022-07-18 13:38:20 +02:00
kirill lykov b1acd9954b
extract method to split keypairs into two set of chunks (#26623) 2022-07-15 09:47:30 +02:00
kirill lykov 87a1404372
refactor and extract send batch logic (#26067)
* move send batch txs logic to new file

* refactor send batch
2022-07-08 16:34:38 +02:00
Nick Rempel 7e4a5de99c
Refactor ConnectionCache::use_quic (#26235)
* Remove UseQuic type

Move to storing the UdpSocket on ConnectionCache and accepting a bool

* Remove use_quic from ConnectionCache constructor

Replace with separate with_udp constructor to force callers to choose
2022-07-05 10:49:42 -07:00
Pankaj Garg 43ff65ece9
Use single send socket in UdpTpuConnection (#26105) 2022-06-21 14:56:21 -07:00
kirill lykov 4031a37521
add get_account to BenchTpsClient (#26068)
* add get_account to BenchTpsClient

* improve error reporting in get_account
2022-06-21 19:25:52 +02:00
Lijun Wang 29b597cea5
Connection pool support in connection cache and QUIC connection reliability improvement (#25793)
* Connection pool in connection cache and handle connection errors

1. The connection not has a pool of connections per address, configurable, default 4
2. The connections per address share a lazy initialized endpoint
3. Handle connection issues better, avoid race conditions
4. Various log improvement for help debug connection issues
2022-06-10 09:25:24 -07:00
Jon Cinque 79a8ecd0ac
client: Remove static connection cache, plumb it instead (#25667)
* client: Remove static connection cache, plumb it instead

* Add TpuClient::new_with_connection_cache to not break downstream

* Refactor get_connection and RwLock into ConnectionCache

* Fix merge conflicts from new async TpuClient

* Remove `ConnectionCache::set_use_quic`

* Move DEFAULT_TPU_USE_QUIC to client, use ConnectionCache::default()
2022-06-08 13:57:12 +02:00
ryleung-solana ef8c06dcf2
Add datapoints to help debug the invalid blockhash issue with quic (#24908)
* Add datapoints to help debug the invalid blockhash issue with quic
2022-05-23 15:09:47 -04:00
sakridge b2c2c29bf7
Fix quic mode with thinclient (#24890) 2022-05-03 13:33:53 +02:00
sakridge 0b0589eb11
Add custom rpc/tpu port options for ThinClient (#24842) 2022-05-01 00:14:47 -07:00
sakridge cdce19be29
Use batch send instead of individual send (#24628) 2022-04-27 19:28:16 +02:00
Tyera Eulberg 5e8c12ebdf
Do not require default keypair to exist for bench-tps (#24356) 2022-04-14 19:05:08 -06:00
Tyera Eulberg 96e3555e93
Add RpcClient support to bench-tps (#24297)
* Impl BenchTpsClient for RpcClient

* Support RpcClient in bench-tps
2022-04-13 13:11:34 -06:00
Tyera Eulberg 26899359d1
Support quic in bench-tps (#24295)
* Update comment

* Use connection_cache in tpu_client

* Add --tpu-use-quic to bench-tps

* Use connection_cache async send
2022-04-13 12:17:10 -06:00
Tyera Eulberg 8487030ea6
Add TpuClient support to bench-tps (#24227)
* Add fallible send methods, and rpc_client helper

* Add helper to return RpcClient url

* Implement BenchTpsClient for TpuClient

* Add cli rpc and identity handling

* Handle different kinds of clients in main, use TpuClient

* Add tpu_client integration test
2022-04-12 09:43:29 -06:00
Tyera Eulberg 3871c85fd7
Add BenchTpsClient trait (#24208)
* Add BenchTpsClient

* Impl BenchTpsClient for used clients

* Use BenchTpsClient in do_bench

* Update integration test to use faucet via rpc

* Support keypairs from file that are not prefunded

* Remove old perf-utils
2022-04-11 13:45:40 -06:00
ryleung-solana 17b00ad3a4
Add quic-client module (#23166)
* Add quic-client module to send transactions via quic, abstracted behind the TpuConnection trait (along with a legacy UDP implementation of TpuConnection) and change thin-client to use TpuConnection
2022-03-09 21:33:05 -05:00
Trent Nelson d4292774c5 checks 2022-02-25 08:05:28 +00:00
behzad nouri 78089941ff
adds validator version to set_panic_hook (#23082) 2022-02-11 18:04:10 +00:00
Michael Vines b8837c04ec Reformat imports to a consistent style for imports
rustfmt.toml configuration:
  imports_granularity = "One"
  group_imports = "One"
2021-12-03 09:19:13 -08:00
Jack May bced07a099
Update fee api to use blockhash (#21054) 2021-10-29 13:52:59 -07:00
Jack May da45be366a
Remove blockhash from fee calculation (#20641) 2021-10-13 13:10:58 -07:00
Jack May 0b50bb2b20
Deprecate FeeCalculator returning APIs (#19120) 2021-08-13 09:08:20 -07:00
Jeff Washington (jwash) 14361906ca
for all tests, bank::new -> bank::new_for_tests (#19064) 2021-08-05 08:42:38 -05:00
behzad nouri d2d5f36a3c
adds validator flag to allow private ip addresses (#18850) 2021-07-23 15:25:03 +00:00
Alexander Meißner 6514096a67 chore: cargo +nightly clippy --fix -Z unstable-options 2021-06-18 10:42:46 -07:00
Tyera Eulberg 9a5330b7eb
Move gossip modules into solana-gossip crate (#17352)
* Move gossip modules to solana-gossip

* Update Protocol abi digest due to move

* Move gossip benches and hook up CI

* Remove unneeded Result entries

* Single use statements
2021-05-26 09:15:46 -06:00
Trent Nelson 7f7370c306 Re-allow clippy::integer_arithmetic at crate-level 2021-02-17 13:55:08 -07:00
Tyera Eulberg ffa5c7dcc8
Deprecate commitment variants (#14797)
* Deprecate commitment variants

* Add new CommitmentConfig builders

* Add helpers to avoid allowing deprecated variants

* Remove deprecated transaction-status code

* Include new commitment variants in runtime commitment; allow deprecated as long as old variants persist

* Remove deprecated banks code

* Remove deprecated variants in core; allow deprecated in rpc/rpc-subscriptions for now

* Heavier hand with rpc/rpc-subscription commitment

* Remove deprecated variants from local-cluster

* Remove deprecated variants from various tools

* Remove deprecated variants from validator

* Update docs

* Remove deprecated client code

* Add new variants to cli; remove deprecated variants as possible

* Don't send new commitment variants to old clusters

* Retain deprecated method in test_validator_saves_tower

* Fix clippy matches! suggestion for BPF solana-sdk legacy compile test

* Refactor node version check to handle commitment variants and transaction encoding

* Hide deprecated variants from cli help

* Add cli App comments
2021-01-26 19:23:07 +00:00
Jeff Washington (jwash) 938d482135
consolidate constants related to time for future refactoring (#14440) 2021-01-07 09:49:24 -06:00
Michael Vines 7143aaa89b Clippy 2020-12-14 08:03:29 -08:00
Greg Fitzgerald 8b1b392be9
Remove move_loader and librapay (#11184)
* Remove move_loader and librapay

* Remove Embedding Move from implemented proposals

* Remove Move variant from CI

* Remove move_loader ID
2020-07-23 15:08:59 -06:00
sakridge 3884323cb6
Add target-node flag to bench-tps (#10876) 2020-07-01 21:10:12 -07:00
Greg Fitzgerald 7ade330b23
Rename Client methods to match proposed BanksClient (#10793) 2020-06-25 03:35:38 +00:00
Greg Fitzgerald 1c498369b5
Remove fee-payer guesswork from Message and Transaction (#10776)
* Make Message::new_with_payer the default constructor

* Remove Transaction::new_[un]signed_instructions

These guess the fee-payer instead of stating it explicitly
2020-06-24 14:52:38 -06:00