-
Notifications
You must be signed in to change notification settings - Fork 261
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
v2.1: add fanout to tpu-client-next (backport of #3478) #3523
Conversation
* Add tpu-client-next to the root Cargo.toml * Change LeaderUpdater trait to accept mut self * add fanout to the tpu-client-next * Shutdown in separate task * Use try_send instead, minor impromenets * fix LeaderUpdaterError traits * improve lifetimes in split_leaders Co-authored-by: Illia Bobyr <[email protected]> * address PR comments * create connections in advance * removed lookahead_slots --------- Co-authored-by: Illia Bobyr <[email protected]> (cherry picked from commit 2a618b5) # Conflicts: # Cargo.toml
Cherry-pick of 2a618b5 has failed:
To fix up this pull request, you can check it out locally. See documentation: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally |
I want to backport this because tpu-client-next is not used by anything yet (0 risk), but we're planning to make it opt-in in send-transaction-service (coming PRs). The existing client (before -next) creates stream concurrency and fragmentation. Both the agave and firedancer QUIC implementations now penalize concurrency, so we want to have a way to avoid it. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is probably a special case because it is all confined to the tpu-client-next crate that isn't actually used anywhere. But in the future, it might be better to split this up into multiple changes that could be reviewed and approved separately. For example, in addition to enabling fanout, we switch to try sends, atomic stats, looking ahead some number of leaders instead of slots, etc.
Problem
Crate tpu-client-next doesn't have fan out so far.
Summary of Changes
Add this feature.
This is an automatic backport of pull request #3478 done by [Mergify](https://mergify.com).