-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
Metrics stream not closing connections #1430
Comments
Came here to report this same issue, netstat is showing the sockets in a
|
I'll investigate |
I just added this branch with some printlns to the stream servlet: https://github.com/mattrjacobs/Hystrix/tree/understand-1430-regression When I run the Jetty server in I'm able to run curls against that server, and the server properly cleans up when the client process ends. Is there anything different about this attempt at a reproduction and your cases, @DangerPete / @mattnelson ? Sample server output when I repeatedly start a curl and terminate with Ctrl+C:
|
What version of jetty is |
It was using whatever the stock Gradle Jetty plugin was using, which wasn't clear. I switched to use Gretty and was able to choose between Jetty 7/8/9 and Tomcat 7/8. All of them worked locally as expected. Are you able to replicate those findings? The Gretty config is pushed to my personal fork: https://github.com/mattrjacobs/Hystrix/tree/understand-1430-regression |
I was able to recreate the error by loading the hystrix stream before calling the demo page. This lines up with what I've been seeing on our services as well. Since we are using turbine to aggregate as soon as the service is UP, turbine begins to aggregate. It isn't until the first command is executed that the stream recovers and closes the abandoned connections. curl logs
server logs
|
Fix #1430 by detecting case when client connect/disconnects before me…
Didn't realize merging that would close the issue. Reopening until the release happens and the fix is verified. Thanks for the help in getting to a repro case. |
When can we expect a new release? |
Just released 1.5.9 |
Hi,
Way back in the day an issue was raised whereby connections to the metric stream were being held open when no command data was available: #85
Since the rewrite of the
HystrixMetricsStreamServlet
it would appear that this behaviour has slipped back in.If no data is available the
onNext
of the subscriber inHystrixSampleSseServlet
is never called, and hence the connection is never checked, thus connections are held forever.This can be replicated using the hystrix example webapp by just curling the metrics stream upon app start up.
The text was updated successfully, but these errors were encountered: