Skip to content

Conversation

@AvhiMaz
Copy link

@AvhiMaz AvhiMaz commented Nov 26, 2025

Problem

The validator binds an excessive number of network ports. UDP TPU path (transaction ingress via UDP) is deprecated since
version 3.0 and no longer used - the system now exclusively uses QUIC for TPU transaction ingress. Removing these unused socket bindings reduces resource consumption and simplifies network configuration.

Summary of Changes

Removes deprecated UDP socket bindings for TPU and TPU forwards paths that are no longer in use:

  • Removed tpu_port and tpu_sockets UDP socket binding code from Node::new_with_client()
  • Removed tpu_forwards_port and tpu_forwards_sockets UDP socket binding code
  • Removed tpu: Vec<UdpSocket> and tpu_forwards: Vec<UdpSocket> fields from Sockets struct
  • Updated test_tpu_forwards_quic_uses_correct_port test to only verify QUIC paths (UDP variant no longer exists)
  • Updated CLUSTER_INFO_TRACE_LENGTH constant to reflect the changes in ContactInfo trace output
  • Removed test helper reference to non-existent sockets.tpu field

Fixes #7525 (partially)

@AvhiMaz AvhiMaz requested a review from a team as a code owner November 26, 2025 08:37
@alexpyattaev alexpyattaev added the CI Pull Request is ready to enter CI label Nov 26, 2025
@anza-team anza-team removed the CI Pull Request is ready to enter CI label Nov 26, 2025
@AvhiMaz
Copy link
Author

AvhiMaz commented Nov 27, 2025

hi @alexpyattaev sir

the tests are failing here because this PR depends on the changes in #9299
(removal of tpu_enable_udp configuration). the socket removal in this pr
requires the configuration cleanup to pass tests.

should i merge the changes from #9299 into this branch, or would you prefer
a different approach?

happy to adjust based on what's easiest for review. thanks!

@alexpyattaev
Copy link

should i merge the changes from #9299 into this branch, or would you prefer a different approach?

This is fine, but in such cases it is best to keep such PRs as drafts and mention that it goes on top of something else to avoid confusion.

For example:

  • You have commits A and B that need to go in order, but you want them to be reviewed in separate PRs
  • Put A into PR_A, mark ready for review.
  • Put A->B chain into PR_B, mark as draft and link back to PR_A.
  • Once PR_A is approved and merged, you can rebase the branch which feeds PR_B, which will remove commit A from it, and then you can mark PR_B as ready for review.

Thank you!

@alexpyattaev
Copy link

I think you did it backwards:)

@AvhiMaz AvhiMaz marked this pull request as draft November 27, 2025 08:34
@AvhiMaz
Copy link
Author

AvhiMaz commented Nov 27, 2025

I think you did it backwards:)

Got it! I've now marked this PR as draft since it depends on #9299.

Once #9299 is merged, I'll rebase this branch to remove the duplicate
commits and mark it ready for review. Thanks for the clarification!

rdin777 added a commit to rdin777/agave that referenced this pull request Dec 9, 2025
@AvhiMaz AvhiMaz force-pushed the remove-udp-tpu-sockets branch from d154ea2 to b815f5b Compare January 8, 2026 07:26
@alexpyattaev alexpyattaev added the CI Pull Request is ready to enter CI label Jan 8, 2026
@anza-team anza-team removed the CI Pull Request is ready to enter CI label Jan 8, 2026
@AvhiMaz AvhiMaz marked this pull request as ready for review January 8, 2026 11:32
@mergify
Copy link

mergify bot commented Jan 8, 2026

If this PR represents a change to the public RPC API:

  1. Make sure it includes a complementary update to rpc-client/ (example)
  2. Open a follow-up PR to update the JavaScript client @solana/kit (example)

Thank you for keeping the RPC clients in sync with the server API @AvhiMaz.

Copy link

@alexpyattaev alexpyattaev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Important: some functions that used to return TPU UDP address/port should generally not start returning TPU QUIC address/port. This may cause confusion and bugs. Also in many cases we already have a quic-specific getter.

@AvhiMaz AvhiMaz requested a review from alexpyattaev January 8, 2026 14:25
@alexpyattaev
Copy link

This looks good, but now that tvu quic was removed the conflicts must be resolved and it should be good to go.

@AvhiMaz AvhiMaz force-pushed the remove-udp-tpu-sockets branch from b562488 to 3d8e79c Compare January 11, 2026 03:50
@AvhiMaz AvhiMaz requested a review from alexpyattaev January 12, 2026 14:00
Copy link

@alexpyattaev alexpyattaev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A couple more instances to remove and we should be good to go!

Copy link

@alexpyattaev alexpyattaev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The diff LGTM (except for the added typo), please squash all commits into one with a clean message, thank you!

@alexpyattaev alexpyattaev added the CI Pull Request is ready to enter CI label Jan 12, 2026
@anza-team anza-team removed the CI Pull Request is ready to enter CI label Jan 12, 2026
@AvhiMaz AvhiMaz force-pushed the remove-udp-tpu-sockets branch 2 times, most recently from bf41b9e to b51a2f5 Compare January 13, 2026 06:25
@alexpyattaev alexpyattaev added the CI Pull Request is ready to enter CI label Jan 13, 2026
@anza-team anza-team removed the CI Pull Request is ready to enter CI label Jan 13, 2026
@alexpyattaev
Copy link

Probably need to rebase to get CI to clear - error has nothing to do with this PR. Diff looks good.

@AvhiMaz AvhiMaz force-pushed the remove-udp-tpu-sockets branch from b51a2f5 to 79cb808 Compare January 13, 2026 15:14
@AvhiMaz AvhiMaz requested a review from alexpyattaev January 13, 2026 15:15
@alexpyattaev alexpyattaev added the CI Pull Request is ready to enter CI label Jan 19, 2026
@anza-team anza-team removed the CI Pull Request is ready to enter CI label Jan 19, 2026
alexpyattaev
alexpyattaev previously approved these changes Jan 19, 2026
Copy link

@alexpyattaev alexpyattaev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@alexpyattaev alexpyattaev dismissed their stale review January 20, 2026 21:56

CI red due to incorrect const update in gossip unittests

@alexpyattaev alexpyattaev force-pushed the remove-udp-tpu-sockets branch from 79cb808 to d449dc0 Compare January 21, 2026 23:00
@alexpyattaev
Copy link

@gregcusack ended up editing this to wrap it up before 4.0 is cut.

@codecov-commenter
Copy link

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 82.5%. Comparing base (eaf1e04) to head (0300eb4).
⚠️ Report is 76 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff            @@
##           master    #9291     +/-   ##
=========================================
- Coverage    82.5%    82.5%   -0.1%     
=========================================
  Files         844      844             
  Lines      316364   316322     -42     
=========================================
- Hits       261207   261172     -35     
+ Misses      55157    55150      -7     
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Reduce amount of ports we are binding

5 participants