steveluscher
eb12983785
feat: add custom version HTTP header string to RPC requests
2022-06-29 06:59:44 +00:00
Jon Cinque
2436a2bea8
client: Use async connection in async TPU client ( #25969 )
...
* client: Add nonblocking QuicTpuConnection implementation
* Remove integer arithmetic
* client: Support sync and async connections in cache
* client: Use async connection in async TPU client
* Address feedback
* Rename Connection -> BaseTpuConnection
2022-06-28 11:01:49 -04:00
Steven Luscher
9765034e04
Enable wire compression in Solana CLI and Rust client ( #26236 )
2022-06-27 15:38:07 -07:00
steveluscher
558dd53025
Add user-agent header to Solana rust client requests
2022-06-27 22:29:44 +00:00
github-actions[bot]
5c2f819f99
Bump Version to 1.11.2 ( #26159 )
2022-06-22 21:16:18 -05:00
dependabot[bot]
29bec3eb54
chore: bump semver from 1.0.9 to 1.0.10 ( #26154 )
...
* chore: bump semver from 1.0.9 to 1.0.10
Bumps [semver](https://github.com/dtolnay/semver ) from 1.0.9 to 1.0.10.
- [Release notes](https://github.com/dtolnay/semver/releases )
- [Commits](https://github.com/dtolnay/semver/compare/1.0.9...1.0.10 )
---
updated-dependencies:
- dependency-name: semver
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* [auto-commit] Update all Cargo lock files
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2022-06-22 23:47:26 +00:00
Michael Vines
f3639b76ce
Remove some clippy lints
2022-06-22 09:23:22 -07:00
Pankaj Garg
43ff65ece9
Use single send socket in UdpTpuConnection ( #26105 )
2022-06-21 14:56:21 -07:00
Lijun Wang
61946a49c3
Weight concurrent streams by stake ( #25993 )
...
Weight concurrent streams by stake for staked nodes
Ported changes from #25056 after address merge conflicts and some refactoring
2022-06-21 12:06:44 -07:00
Will Hickey
51f26dc96e
Bump version to 1.11.1 ( #26104 )
2022-06-21 12:07:46 -05:00
Michael Vines
dd0852bc49
UdpTpuConnection no longer restricts its local port to the 8000-10000 range
2022-06-17 17:57:07 -04:00
dependabot[bot]
8e3fd8a411
chore: bump tokio-stream from 0.1.8 to 0.1.9 ( #25995 )
...
* chore: bump tokio-stream from 0.1.8 to 0.1.9
Bumps [tokio-stream](https://github.com/tokio-rs/tokio ) from 0.1.8 to 0.1.9.
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-stream-0.1.8...tokio-stream-0.1.9 )
---
updated-dependencies:
- dependency-name: tokio-stream
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* [auto-commit] Update all Cargo lock files
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2022-06-16 10:27:05 -06: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
behzad nouri
3c1ce3cc93
permanently disables durable nonces with chain blockhash domain ( #25788 )
...
https://github.com/solana-labs/solana/pull/25744
separated durable nonce and blockhash domains, which will stop double
execution going forward. However it is possible that a durable
transaction has *already* been executed once as a normal transaction and
it is now a valid durable transaction. #25744 cannot stop such
transactions to be re-executed until the nonce accounts are advanced.
This commit adds a new nonce version indicating that the nonce is moved
out of the blockhash domain, and permanently disables durable
transactions for legacy nonces which are in the blockhash domain.
2022-06-09 15:28:37 +00: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
Jon Cinque
67a11ce4b1
client: Add nonblocking udp client and connection trait ( #25775 )
...
* client: Add nonblocking udp client
* Address feedback
2022-06-06 19:28:31 +02:00
behzad nouri
5ee157f43d
separates durable nonce and blockhash domains
...
AdvanceNonceAccount instruction updates nonce to blockhash. This makes it
possible that a durable transaction is executed twice both as a normal
transaction and a nonce transaction if it uses blockhash (as opposed to nonce)
for its recent_blockhash field.
The commit prevents this double execution by separating nonce and blockhash
domains; when advancing nonce account, blockhash is hashed with a fixed string.
As a result a blockhash cannot be a valid nonce value; and if transaction was
once executed as a normal transaction it cannot be re-executed as a durable
transaction again and vice-versa.
2022-06-04 12:39:31 +00:00
ryleung-solana
8ca8a61272
Remove LRU Cache as it's no longer used ( #25751 )
2022-06-03 23:41:35 -04:00
Pankaj Garg
1c2ae470c5
Fix forwarding of transactions over QUIC ( #25674 )
...
* Spawn QUIC server to receive forwarded txs
* Update validator port range
* forward votes using UDP
* no forwarding from unstaked nodes
* forwarding stats in banking stage
* fix test builds
* fix lifetime of forward sender
2022-06-02 11:14:58 -07:00
segfaultdoctor
edefaa437f
use tokio sleep inside async ( #25680 )
...
Co-authored-by: Zano <segfaultdoctor@protonmail.com>
2022-06-02 00:49:51 -06:00
Jon Cinque
10afdfee90
client: Refactor quic_client to nonblocking module ( #25501 )
2022-06-02 01:20:11 +02:00
Jon Cinque
6349a6dc97
tpu-client: Add "fake" async version with sync sending ( #25499 )
...
* tpu-client: Add "fake" async for sending
* Add Drop implementation
* Rebase
2022-06-01 23:41:35 +02:00
dependabot[bot]
7f4128947b
chore: bump lru from 0.7.5 to 0.7.6 ( #25572 )
...
* chore: bump lru from 0.7.5 to 0.7.6
Bumps [lru](https://github.com/jeromefroe/lru-rs ) from 0.7.5 to 0.7.6.
- [Release notes](https://github.com/jeromefroe/lru-rs/releases )
- [Changelog](https://github.com/jeromefroe/lru-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/jeromefroe/lru-rs/compare/0.7.5...0.7.6 )
---
updated-dependencies:
- dependency-name: lru
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* [auto-commit] Update all Cargo lock files
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2022-05-26 19:05:02 +00:00
ryleung-solana
1ca5c3a7bd
Switch to using enum-dispatch to switch between UDP and Quic ( #24713 )
2022-05-26 11:21:16 -04:00
dependabot[bot]
1fda5110af
chore: bump quinn-proto from 0.8.2 to 0.8.3 ( #25543 )
...
Bumps [quinn-proto](https://github.com/quinn-rs/quinn ) from 0.8.2 to 0.8.3.
- [Release notes](https://github.com/quinn-rs/quinn/releases )
- [Commits](https://github.com/quinn-rs/quinn/compare/0.8.2...0.8.3 )
---
updated-dependencies:
- dependency-name: quinn-proto
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-25 20:55:38 -06:00
dependabot[bot]
0c3639706b
chore: bump quinn from 0.8.2 to 0.8.3 ( #25542 )
...
* chore: bump quinn from 0.8.2 to 0.8.3
Bumps [quinn](https://github.com/quinn-rs/quinn ) from 0.8.2 to 0.8.3.
- [Release notes](https://github.com/quinn-rs/quinn/releases )
- [Commits](https://github.com/quinn-rs/quinn/compare/0.8.2...0.8.3 )
---
updated-dependencies:
- dependency-name: quinn
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* [auto-commit] Update all Cargo lock files
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2022-05-25 20:44:45 -06:00
steviez
ec7ca411dd
Make PacketBatch packets vector non-public ( #25413 )
...
Upcoming changes to PacketBatch to support variable sized packets will
modify the internals of PacketBatch. So, this change removes usage of
the internal packet struct and instead uses accessors (which are
currently just wrappers of Vector functions but will change down the
road).
2022-05-23 15:30:15 -05:00
Michael Vines
b05c7d91ed
Fix derive_partial_eq_without_eq clippy lint
2022-05-22 22:22:21 -07:00
Jon Cinque
09ea899a2d
tpu-client: Refactor to prep for async client ( #25432 )
2022-05-21 20:22:30 +02:00
Lijun Wang
4e9b189154
Remove noisy metrics on open_uni ( #25430 )
2022-05-20 16:05:42 -07:00
Michael Vines
c54e06355f
voteSubscribe pubsub notification now includes the vote transaction signature ( #25291 )
2022-05-19 18:28:46 -07:00
ryleung-solana
b857528a03
Implement updating the connection cache stats in the client ( #25308 )
2022-05-19 15:29:27 -04:00
Lijun Wang
2266dfc696
Remove unnecessary async marker for create_endpoint ( #25290 )
...
* Add metrics for open_uni
* Remove unnecessary async marker for create_endpoint
* Removed noisy metrics
2022-05-19 01:17:29 -07:00
dependabot[bot]
5299038065
chore: bump rustls from 0.20.5 to 0.20.6 ( #25331 )
...
* chore: bump rustls from 0.20.5 to 0.20.6
Bumps [rustls](https://github.com/rustls/rustls ) from 0.20.5 to 0.20.6.
- [Release notes](https://github.com/rustls/rustls/releases )
- [Changelog](https://github.com/rustls/rustls/blob/main/RELEASE_NOTES.md )
- [Commits](https://github.com/rustls/rustls/compare/v/0.20.5...v/0.20.6 )
---
updated-dependencies:
- dependency-name: rustls
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* [auto-commit] Update all Cargo lock files
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2022-05-18 14:36:22 -06:00
Lijun Wang
81d9a7585d
Add make_connection metrics ( #25280 )
...
* Add metrics for open_uni
* Added metrics for make_connection
* measure make_connection success or fail
2022-05-18 13:23:29 -07:00
dependabot[bot]
542bd0ec3c
chore: bump rayon from 1.5.2 to 1.5.3 ( #25242 )
...
* chore: bump rayon from 1.5.2 to 1.5.3
Bumps [rayon](https://github.com/rayon-rs/rayon ) from 1.5.2 to 1.5.3.
- [Release notes](https://github.com/rayon-rs/rayon/releases )
- [Changelog](https://github.com/rayon-rs/rayon/blob/master/RELEASES.md )
- [Commits](https://github.com/rayon-rs/rayon/compare/v1.5.2...v1.5.3 )
---
updated-dependencies:
- dependency-name: rayon
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* [auto-commit] Update all Cargo lock files
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2022-05-18 09:39:57 -06:00
dependabot[bot]
3bda895ea9
chore: bump rustls from 0.20.4 to 0.20.5 ( #25243 )
...
* chore: bump rustls from 0.20.4 to 0.20.5
Bumps [rustls](https://github.com/rustls/rustls ) from 0.20.4 to 0.20.5.
- [Release notes](https://github.com/rustls/rustls/releases )
- [Changelog](https://github.com/rustls/rustls/blob/main/RELEASE_NOTES.md )
- [Commits](https://github.com/rustls/rustls/compare/v/0.20.4...v/0.20.5 )
---
updated-dependencies:
- dependency-name: rustls
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* [auto-commit] Update all Cargo lock files
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2022-05-18 09:27:16 -06:00
Brooks Prumo
dff089e0dd
Fix RpcResponseContext in rpc_client test ( #25296 )
2022-05-17 12:44:43 -05:00
Brooks Prumo
e608580040
Add get_stake_minimum_delegation() to rpc_client ( #25200 )
2022-05-17 11:46:34 -05:00
Justin Starry
4690956849
RPC: Add minContextSlot param to ensure consistent responses ( #25161 )
...
* RPC: Add minContextSlot param to ensure consistent responses
* revert changes to deprecated endpoints
* update docs
2022-05-17 14:46:02 +08:00
Jack May
21e066ef26
Merge pull request from GHSA-wxrh-ff9f-fc6w
2022-05-16 12:30:37 -07:00
Lijun Wang
196de1c043
Refactor make_connection ( #25225 )
...
1. Move logics related to creating endpoint, creating new connection and retry 0rtt connections into a wrapper construct QuicNewConnection to put the logic together.
2. get_or_add_connection: logic is much simplified to allow manage the connection cache -- the QUIC connection is lazy constructed. get_or_add_connection should no longer be a global hotspot.
3. Per connection stats update is moved out of get_or_add_connection to avoid bad connection impacting good connections.
2022-05-16 11:13:18 -07:00
Lijun Wang
abd4ef889e
Fixed a race condition where in multiple thread environment that wasteful ( #25176 )
...
Duplicate and useless connections are being created which overloads the server and cause unreliable
connections on the client side.
2022-05-14 15:02:13 -07:00
Justin Starry
a118af069e
RPC: Add API version to context response ( #25134 )
...
* RPC: Add API version to context response
* restore backwards compatibility
2022-05-12 12:17:21 +08:00
Brennan Watt
301a655f06
Enable 0rtt ( #25055 )
...
* Enable 0rtt connections
2022-05-10 09:44:07 -07:00
Tyera Eulberg
c4aa082efc
Rollback tokio to LTS release v1.14 ( #25028 )
2022-05-06 06:34:49 +00:00
dependabot[bot]
bece7f32c8
chore: bump log from 0.4.16 to 0.4.17 ( #24987 )
...
* chore: bump log from 0.4.16 to 0.4.17
Bumps [log](https://github.com/rust-lang/log ) from 0.4.16 to 0.4.17.
- [Release notes](https://github.com/rust-lang/log/releases )
- [Changelog](https://github.com/rust-lang/log/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/log/commits/0.4.17 )
---
updated-dependencies:
- dependency-name: log
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* [auto-commit] Update all Cargo lock files
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2022-05-05 01:49:18 +00:00
dependabot[bot]
cae4a7816c
chore: bump semver from 1.0.7 to 1.0.9 ( #24959 )
...
* chore: bump semver from 1.0.7 to 1.0.9
Bumps [semver](https://github.com/dtolnay/semver ) from 1.0.7 to 1.0.9.
- [Release notes](https://github.com/dtolnay/semver/releases )
- [Commits](https://github.com/dtolnay/semver/compare/1.0.7...1.0.9 )
---
updated-dependencies:
- dependency-name: semver
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* [auto-commit] Update all Cargo lock files
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <you@example.com>
2022-05-04 15:56:34 -06:00
dependabot[bot]
61a9faae17
chore: bump serde_json from 1.0.80 to 1.0.81 ( #24960 )
...
* chore: bump serde_json from 1.0.80 to 1.0.81
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.80 to 1.0.81.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.80...v1.0.81 )
---
updated-dependencies:
- dependency-name: serde_json
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* [auto-commit] Update all Cargo lock files
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <you@example.com>
2022-05-04 14:57:38 -06:00
Pankaj Garg
b4c3b66f1a
Replace HashMap and Vec with IndexMap in connection cache ( #24967 )
2022-05-04 12:38:03 -07:00