Michael Vines
3f4731b37f
Standardize thread names
...
Tenets:
1. Limit thread names to 15 characters
2. Prefix all Solana-controlled threads with "sol"
3. Use Camel case. It's more character dense than Snake or Kebab case
2022-08-20 07:49:39 -07:00
Brennan Watt
7573000d87
Revert "Rust v1.63.0 ( #27148 )" ( #27245 )
...
This reverts commit a2e7bdf50a
.
2022-08-19 09:19:44 +01:00
Brennan Watt
a2e7bdf50a
Rust v1.63.0 ( #27148 )
...
* Upgrade to Rust v1.63.0
* Add nightly_clippy_allows
* Resolve some new clippy nightly lints
* Increase QUIC packets completion timeout
Co-authored-by: Michael Vines <mvines@gmail.com>
2022-08-17 15:48:33 -07:00
dependabot[bot]
0797810af4
chore: bump nix from 0.24.2 to 0.25.0 ( #27179 )
...
* chore: bump nix from 0.24.2 to 0.25.0
Bumps [nix](https://github.com/nix-rust/nix ) from 0.24.2 to 0.25.0.
- [Release notes](https://github.com/nix-rust/nix/releases )
- [Changelog](https://github.com/nix-rust/nix/blob/master/CHANGELOG.md )
- [Commits](https://github.com/nix-rust/nix/compare/v0.24.2...v0.25.0 )
---
updated-dependencies:
- dependency-name: nix
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>
2022-08-16 16:59:18 -06:00
dependabot[bot]
67d1628602
chore: bump libc from 0.2.129 to 0.2.131 ( #27162 )
...
* chore: bump libc from 0.2.129 to 0.2.131
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.129 to 0.2.131.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.129...0.2.131 )
---
updated-dependencies:
- dependency-name: libc
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
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-08-16 13:01:37 -06:00
Lijun Wang
091d69d218
Update quinn lib to 0.8.4 ( #27119 )
2022-08-15 12:46:43 -07:00
dependabot[bot]
a77131abce
chore: bump libc from 0.2.126 to 0.2.129 ( #27063 )
...
* chore: bump libc from 0.2.126 to 0.2.129
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.126 to 0.2.129.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.126...0.2.129 )
---
updated-dependencies:
- dependency-name: libc
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
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-08-10 15:53:09 -06:00
Lijun Wang
ceb8f099f2
Fixed a cargo warning on specifing quinn dependencies ( #27057 )
2022-08-10 11:54:13 -07:00
Lijun Wang
ddd660e2d3
Different staked vs unstaked chunks_received ( #27033 )
...
* Different staked vs unstaked chunks_received
* Suppress a clippy warning
2022-08-09 17:39:14 -07:00
Lijun Wang
a69470fd45
Set receive_window per quic connection ( #26936 )
...
This change sets the receive_window for non-staked node to 1 * PACKET_DATA_SIZE, and maps the staked nodes's connection's receive_window between 1.2 * PACKET_DATA_SIZE to 10 * PACKET_DATA_SIZE based on the stakes.
The changes is based on Quinn library change to support per connection receive_window tweak at the server side. quinn-rs/quinn#1393
2022-08-09 10:02:47 -07:00
Will Hickey
ed8c224374
Bump version to v1.12 ( #26967 )
2022-08-06 13:20:30 -05:00
Tyera Eulberg
66919e5adb
Unpin tokio for non-rpc crates ( #26957 )
2022-08-05 20:50:45 -06:00
Pankaj Garg
3c15d26840
Refactor QUIC new connection handler function ( #26855 )
...
* Refactor QUIC new connection handler function
* cleanup setup_connection
* more cleanup
2022-08-05 11:24:07 -07:00
github-actions[bot]
fbf1bf6d86
Bump Version to 1.11.6 ( #26906 )
...
Co-authored-by: willhickey <willhickey@users.noreply.github.com>
2022-08-03 12:48:43 -05:00
Pankaj Garg
fb922f613c
Compute maximum parallel QUIC streams using client stake ( #26802 )
...
* Compute maximum parallel QUIC streams using client stake
* clippy fixes
* Add unit test
2022-07-29 08:44:24 -07:00
github-actions[bot]
5d038b9d2a
Bump Version to 1.11.5 ( #26758 )
...
Co-authored-by: willhickey <willhickey@users.noreply.github.com>
2022-07-25 13:05:14 -06:00
dependabot[bot]
9bd9d1e05a
chore: bump nix from 0.24.0 to 0.24.2 ( #26725 )
...
* chore: bump nix from 0.24.0 to 0.24.2
Bumps [nix](https://github.com/nix-rust/nix ) from 0.24.0 to 0.24.2.
- [Release notes](https://github.com/nix-rust/nix/releases )
- [Changelog](https://github.com/nix-rust/nix/blob/v0.24.2/CHANGELOG.md )
- [Commits](https://github.com/nix-rust/nix/compare/v0.24.0...v0.24.2 )
---
updated-dependencies:
- dependency-name: nix
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-07-22 11:02:53 -06:00
Pankaj Garg
27866aeab4
Fix transaction chunking on QUIC batch send ( #26642 )
...
* Fix chunking of transaction at batch transmit via QUIC
* clippy fixes
2022-07-22 08:56:15 -07:00
sakridge
9714cb3764
Remove some unchecked math from the quic chunk handling ( #26408 )
2022-07-16 17:03:31 +02:00
Richard Patel
048b9f670b
Set solana-tpu ALPN protocol ID ( #26587 )
2022-07-13 20:55:13 +02:00
Pankaj Garg
49a112ae74
Use pubkey of peer for active QUIC connection table ( #26597 )
...
* Use pubkey of peer for active QUIC connection table
* clippy
* update code
2022-07-13 09:59:01 -07:00
Pankaj Garg
14ee87d793
Move QUIC TLS certificate code in its own file ( #26569 )
2022-07-12 13:34:37 -07:00
github-actions[bot]
fd5df1cf25
Bump Version to 1.11.4 ( #26578 )
...
Co-authored-by: willhickey <willhickey@users.noreply.github.com>
2022-07-11 23:30:38 -05:00
Pankaj Garg
ea7448c568
Use client certs in QUIC to get peer's stake ( #26477 )
...
* Use client certs in QUIC to get peer's stake
* fixes to cert processing
* integrate the code
* clippy
* more cleanup
* sort cargo deps
* test fixes
* info -> debug
2022-07-11 18:06:40 +00:00
ryleung-solana
4772a93109
Quic handshake timeout ( #26306 )
...
* Implement timeout for the quic client and server handshake
2022-07-11 14:10:12 +08:00
github-actions[bot]
9d937fb8a0
Bump Version to 1.11.3 ( #26481 )
...
Co-authored-by: willhickey <willhickey@users.noreply.github.com>
2022-07-07 14:39:46 -05:00
dependabot[bot]
83a73532b0
chore: bump indexmap from 1.8.1 to 1.9.1 ( #26435 )
...
* chore: bump indexmap from 1.8.1 to 1.9.1
Bumps [indexmap](https://github.com/bluss/indexmap ) from 1.8.1 to 1.9.1.
- [Release notes](https://github.com/bluss/indexmap/releases )
- [Changelog](https://github.com/bluss/indexmap/blob/master/RELEASES.md )
- [Commits](https://github.com/bluss/indexmap/compare/1.8.1...1.9.1 )
---
updated-dependencies:
- dependency-name: indexmap
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
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2022-07-06 13:44:59 -06:00
Pankaj Garg
94685e1222
Implement randomized pruning of QUIC connection from staked peers ( #26299 )
2022-06-30 17:56:15 -07:00
Pankaj Garg
71087ac94f
Use correct QUIC connection table for removing the entry ( #26328 )
...
* Use correct QUIC connection table for removing the entry
* fix test
* address review comments
* address comments
2022-06-30 10:21:53 -07:00
Pankaj Garg
e8ed7c1c46
Close QUIC connection before dropping the entry ( #26269 )
2022-06-28 13:46:56 -07:00
Pankaj Garg
31d870fe1b
Do not unwrap the oldest IP in QUIC connectiont table ( #26272 )
2022-06-28 00:17:08 +00:00
sakridge
2cc48a650b
Spawn for each stream ( #26086 )
2022-06-27 21:03:40 +02:00
Justin Starry
974db28e4d
Increase the QUIC stream timeout duration to improve perf ( #26247 )
2022-06-27 17:01:39 +01:00
Miles Obare
b26c79b77b
[quic]Decrement total_streams correctly ( #26158 )
2022-06-23 14:09:43 -07:00
github-actions[bot]
5c2f819f99
Bump Version to 1.11.2 ( #26159 )
2022-06-22 21:16:18 -05:00
Pankaj Garg
17cf010ae6
Tune stream timeout and reading after timeouts ( #26133 )
...
* Tune stream timeout and reading after timeouts
* update sleep in test
2022-06-22 21:07:31 +00:00
Pankaj Garg
d5dbfb67fd
QUIC stream timeouts if no data is received ( #26116 )
2022-06-21 18:56:47 -07:00
Pankaj Garg
4ad32eb412
Perform QUIC handshake asynchronously to allow parallel handshakes ( #26043 )
...
* Perform QUIC handshake asynchronously to allow parallel handhskaes
* address comments
* update cargo.lock
* change sleep to 1ms
2022-06-21 23:22:11 +00: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
ryleung-solana
84a1aae555
Fix incorrect total connection table size in the quic server when removing multiple connections with the same IP:Port ( #26073 )
...
* Fix incorrect total connection table size in the quic server when removing multiple connections with the same IP:Port
2022-06-21 15:13:35 +08:00
Jon Cinque
061dc5322a
streamer: Add nonblocking quic server ( #25806 )
2022-06-07 18:22:46 +02:00
behzad nouri
5dbf7d8f91
removes raw indexing into packet data ( #25554 )
...
Packets are at the boundary of the system where, vast majority of the
time, they are received from an untrusted source. Raw indexing into the
data buffer can open attack vectors if the offsets are invalid.
Validating offsets beforehand is verbose and error prone.
The commit updates Packet::data() api to take a SliceIndex and always to
return an Option. The call-sites are so forced to explicitly handle the
case where the offsets are invalid.
2022-06-03 01:05:06 +00: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
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
behzad nouri
880684565c
limits read access into Packet data to Packet.meta.size ( #25484 )
...
Bytes past Packet.meta.size are not valid to read from.
The commit makes the buffer field private and instead provides two
methods:
* Packet::data() which returns an immutable reference to the underlying
buffer up to Packet.meta.size. The rest of the buffer is not valid to
read from.
* Packet::buffer_mut() which returns a mutable reference to the entirety
of the underlying buffer to write into. The caller is responsible to
update Packet.meta.size after writing to the buffer.
2022-05-25 16:52:54 +00:00
Justin Starry
cad1c41ce2
Add Packet::deserialize_slice convenience method
2022-05-24 17:31:14 +08: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
behzad nouri
c248fb3f51
renames Packet Meta::{,set_}addr methods to {,set_}socket_addr ( #25478 )
...
In order to distinguish between Meta.addr field which is an IpAddr and
the methods which refer to a SocketAddr.
2022-05-23 15:48:59 +00:00
Michael Vines
b05c7d91ed
Fix derive_partial_eq_without_eq clippy lint
2022-05-22 22:22:21 -07:00