-
Notifications
You must be signed in to change notification settings - Fork 458
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
Toxiproxy hangs #159
Comments
Ugh, I don't have time to personally debug this currently. Do you have time to dig into this? I'm considering rolling back the 2.1.0 release for the time being. |
I have a fix for this, but I don't have push access anymore. I can create a
PR later this week when I have time.
On Feb 1, 2017 7:13 PM, "Simon Eskildsen" <notifications@github.com> wrote:
Ugh, I don't have time to personally debug this currently. Do you have time
to dig into this? I'm considering rolling back the 2.1.0 release for the
time being.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#159 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABhVDrhA6_W-kMqLgF2JASkRJYAd7_Tsks5rYR-agaJpZM4Lh4x4>
.
|
Amazing @xthexder! 🎉 😍 I've given you |
@xthexder do you need anything else from me? |
Sorry for the delay on this, I've been basically offline for the last 2 weeks due to school events and assignments. I had a deeper look into this, and while I have a somewhat temporary fix for this, it's still not a perfect one. The easy fix for this is to set a buffer size to the timeout toxic, but this only delays the problem, since if enough data is passed through, it will fill up. I don't see the above scenario being particularly useful to anyone, since the timeout toxic is still active, and the hang can be avoided by ordering operations differently. In-flight data is really hard to deal with... |
The behaviour that's an issue right now is that if the timeout toxic is removed by the user, all the backed up data will still be sent. This change would likely fit well with the timeout suggestion in #149 Thoughts? |
(another quick thought) |
All good Jacob! Hope it all went well. Congratulations on your ring 💍 You're right, I agree, the timeout toxic is indeed special. I think:
Makes sense. Using the timeout toxic with another toxic doesn't have obvious behaviour. If we decide and document this is the behavior, I think it's appropriate that it drops the data on the floor. In other cases, people should refer to the latency toxic with a high timeout.
Goes hand in hand with that. It makes the timeout toxic stand out and have very interesting behaviour IMO.
I'm not sure I completely understand this, can you explain how the timeout toxic caused the API to hang?
Definitely agree with this. |
Hey @xthexder, any update on this? Anything I can do? |
Three options for fixing this bug are:
I believe I can't see a way to fix this properly without a major version release. The change doesn't seem too hard but assuming we're using semantic versioning properly, this is a
TLDR What do I propose?Release option |
I think we should go with
It actually kind of is, we're still recommending 2.0.0 because of this bug (but maybe it's present in 2.0.0 as well and I can remove this?) #162. In short, I think we should go with (1) and bump to 2.1.1. |
I was able to reproduce this bug with version |
Awesome, good work @jpittis 🎉 |
Scenario is:
Add proxy
toxiproxy-cli create proxy_20000_to_20001 --listen localhost:20000 --upstream localhost:20001
Add latency toxic (also reproducing with others like bandwidth)
toxiproxy-cli toxic add proxy_20000_to_20001 --upstream --toxicName LatencyIssue -t latency -a latency=500 -a jitter=0
Start sending some data through, i.e.
Add timeout toxic (data flow stops as expected)
toxiproxy-cli toxic add proxy_20000_to_20001 --upstream --toxicName TimeoutIssue -t timeout -a timeout=0
Remove first toxic
toxiproxy-cli toxic delete proxy_20000_to_20001 --toxicName LatencyIssue
As a result last command just hangs. If you try to run other commands like 'toxiproxy-cli list' they will hang as well. I'm using latest 2.1.0 release of toxiproxy and latest 1.19.1 release of cli.
The text was updated successfully, but these errors were encountered: