Commit Graph

212 Commits

Author SHA1 Message Date
Brooks 053775ad77
Elides unnecessary lifetimes (#29299) 2022-12-20 12:44:17 -05:00
behzad nouri 9524c9dbff patches errors from clippy::uninlined_format_args
https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
2022-12-06 19:32:15 +00:00
Tyera c32377b5af
Split out quic- and udp-client definitions (#28762)
* Move ConnectionCache back to solana-client, and duplicate ThinClient, TpuClient there

* Dedupe thin_client modules

* Dedupe tpu_client modules

* Move TpuClient to TpuConnectionCache

* Move ThinClient to TpuConnectionCache

* Move TpuConnection and quic/udp trait implementations back to solana-client

* Remove enum_dispatch from solana-tpu-client

* Move udp-client to its own crate

* Move quic-client to its own crate
2022-11-18 12:21:45 -07:00
Brooks Prumo d1ba42180d
clippy for rust 1.65.0 (#28765) 2022-11-09 19:39:38 +00:00
apfitzge fa65b50b9a
fix typo: prioritizatino -> prioritization (#28615) 2022-10-26 23:30:45 -05:00
Jon Cinque 9d7e999c1d
bench-tps: Transition to using spl-instruction-padding (#28496)
* bench-tps: Transition to using spl-instruction-padding

* Use macros for conversions
2022-10-26 11:16:57 -04:00
Tyera Eulberg 235da8c538
chore: bump serde_yaml from 0.8.26 to 0.9.13 (#28388)
* chore: bump serde_yaml from 0.8.26 to 0.9.13 (#27970)

* chore: bump serde_yaml from 0.8.26 to 0.9.13

Bumps [serde_yaml](https://github.com/dtolnay/serde-yaml) from 0.8.26 to 0.9.13.
- [Release notes](https://github.com/dtolnay/serde-yaml/releases)
- [Commits](https://github.com/dtolnay/serde-yaml/compare/0.8.26...0.9.13)

---
updated-dependencies:
- dependency-name: serde_yaml
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* [auto-commit] Update all Cargo lock files

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>

* Prepend ---

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2022-10-14 22:02:39 -06:00
apfitzge e8014aaf84
fix typo: lamporots to lamports (#27987) 2022-09-23 15:00:31 -05:00
Jon Cinque f3fcbdba29
bench-tps: Add instruction padding program support (#27813)
* bench-tps: Add instruction padding program support

* Add ability to customize program id

* Improve names and comments
2022-09-22 21:37:40 +02:00
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