Skip to content

fix(iroh): Queue sent datagrams longer #3129

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

Merged
merged 1 commit into from
Jan 14, 2025

Conversation

flub
Copy link
Contributor

@flub flub commented Jan 14, 2025

Description

The problem is that while the connection to the relay server is still
being established sent packets are already being dropped while being
queued to send. This means when the connection is finally established
they are not there to be sent and depending on some scheduling luck
connections will often fail. Extending this timeout makes
establishing connections via the relay only much more reliable.

Breaking Changes

Notes & open questions

"depending on scheduling luck" is a bit hand-wavy. I would have
expected QUIC to recover from this and re-send the packets. I think
it depends on exactly how long it takes to establish the connection,
re-tries could still end up being dropped in this queue if badly
timed.

It is hard to say if 3*PTO is sufficient. There is an argument for
even longer, but it is a trade-off of blocking the entire relay queue
if it is too long and giving enough time to establish a normal connection.

Change checklist

  • Self-review.
  • Documentation updates following the style guide, if relevant.
  • Tests if relevant.
  • All breaking changes documented.

The problem is that while the connection to the relay server is still
being established sent packets are already being dropped while being
queued to send.  This means when the connection is finally established
they are not there to be sent and depending on some scheduling luck
connections will often fail.  Extending this timeout makes
establishing connections via the relay only much more reliable.
Copy link

Documentation for this PR has been generated and is available at: https://n0-computer.github.io/iroh/pr/3129/docs/iroh/

Last updated: 2025-01-14T11:26:58Z

@flub flub self-assigned this Jan 14, 2025
@flub flub added bug Something isn't working c-iroh labels Jan 14, 2025
@flub flub added this to the v0.31.0 milestone Jan 14, 2025
Copy link
Contributor

@dignifiedquire dignifiedquire left a comment

Choose a reason for hiding this comment

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

makes sense to increase

@flub flub enabled auto-merge January 14, 2025 11:35
Copy link

Netsim report & logs for this PR have been generated and is available at: LOGS
This report will remain available for 3 days.

Last updated for commit: 04a2bbb

@flub flub added this pull request to the merge queue Jan 14, 2025
Merged via the queue into main with commit e756710 Jan 14, 2025
43 of 51 checks passed
@dignifiedquire dignifiedquire deleted the flub/queue-send-relay-packets-longer branch January 14, 2025 12:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working c-iroh
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

2 participants