Skip to content
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

Implement shut off valve when dropped packets vector grows to fast #211

Open
2 tasks
jstnlef opened this issue Jun 23, 2019 · 4 comments
Open
2 tasks

Implement shut off valve when dropped packets vector grows to fast #211

jstnlef opened this issue Jun 23, 2019 · 4 comments
Labels
difficulty: easy enhancement New feature or request good first issue Good for newcomers

Comments

@jstnlef
Copy link
Contributor

jstnlef commented Jun 23, 2019

Task Description

We currently have an issue where, when a user isn't familiar with how our acking model works, the protocol gets further an further behind trying to send packets it's believed have been 'dropped'. It's so good at this job that, when a client isn't sending responses fast enough, the number of packets a server is sending balloons to ridiculous numbers.

Task TODO

Essentially, if we get some number of consecutive sends where the "dropped queue" is increasing, we should send a final error message, consider the client disconnected, and drop it.

  • Make something to count 'send' actions when dropped queue increases in size.
  • When the above triggers, consider the client to be disconnected, return Disconnect event.
@TimonPost TimonPost added difficulty: easy enhancement New feature or request good first issue Good for newcomers labels Jul 6, 2019
@TimonPost
Copy link
Owner

TimonPost commented Jul 6, 2019

@jstnlef, what is to you the maximum number of times we should detect the growth of the queue before to take actions.

@TimonPost TimonPost changed the title Need to implement an "emergency shut off valve" Implement shut off valve when dropped packets increases to fast Jul 6, 2019
@TimonPost TimonPost changed the title Implement shut off valve when dropped packets increases to fast Implement shut off valve when dropped packets vector grows to fast Jul 6, 2019
@jstnlef
Copy link
Contributor Author

jstnlef commented Jul 8, 2019

Unsure about this. Can play around with a couple of settings but likely anywhere from 3 to 5 sends where the dropped packets vector is consistently increasing.

@kstrafe
Copy link
Contributor

kstrafe commented Aug 26, 2019

To add to this I think this should perhaps be an optional config value. There may be legitimate cases of queueing up many packets before getting acks.

@jstnlef
Copy link
Contributor Author

jstnlef commented Aug 26, 2019

The dropped packets vector is only pushed to if we haven't received an ack for it in 33 packets. Therefore, in the places where this vector is continually increasing, it's safe to say we're in a pathologically bad state.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
difficulty: easy enhancement New feature or request good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

3 participants