-
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
ArrayIndexOutOfBoundsException when monitoring in dashboard #788
Comments
Thanks for the report, @killme2008 . The integration with HdrHistogram is new, so this is likely a bug in our usage of it. I'll check it out |
@killme2008 I'm not able to reproduce it with any of the obvious possible errors. Could you provide more detail on what's happening in your system when you encounter this error? I've tested:
|
Hi, @mattrjacobs The error log is not too much, but always happen. |
The jar versions:
And the web browser is chrome 42.0.2311.135 (64-bit) |
HdrHistogram version is 2.1.4 |
@mattrjacobs Maybe it is an issue in HdrHistogram, the code line that throw this exception: |
Yeah, I'm trying to track down under what conditions we are hitting that line. Will keep you posted. |
I've been encountering this error as well. In my case it's happening together with a more serious problem where the dashboard seems to block the whole app from running. I've got several Hystrix apps deployed in a WAS Liberty container, and when I have a dashboard open for more than 2 of the apps, it all becomes non-responsive and the error starts to show up in my logs. Sometimes it recovers after closing all the dashboards, sometimes not. Interestingly, I can directly access the hystrix.stream URL in my browser for all the apps at once with no issues. |
I am encountering the same error:
|
I'm actively looking at this issue - I believe that the changes to use HdrHistogram weren't complete. I should have a fix shortly |
The root cause of the problem was that read functionality (like My fix likely isn't the final word, but I believe it does address the multihreaded access. When snapshots of many window chunks are created, a new histogram is created, and is read-only. I'm now caching the commonly accessed values (mean, p10, p50, p90, etc). Specifically, I now cache at least all values that the metrics pollers are accessing. I then let arbitrary percentile calculations work, but synchronize on this operation. I will open a new issue to fix this more thoroughly, and discuss design options for doing so. |
@manuelbernhardt Thanks for your update.Is there a SNAPSHOT version to test? |
I just released this in 1.4.8. Can you please report if the ArrayOOB is fixed for you? |
@mattrjacobs I will try it in our beta environment.Thanks for your mention. |
@mattrjacobs We are running 1.4.8 in our production for 3 days, and it looks that the exception has gone! Thanks for your fix. |
Glad to hear it. You should probably upgrade to 1.4.9, as I found a similar issue where some percentile writes were lost (#799). |
I believe I am seeing this issue again using hystrix-core-1.5.1
|
Thanks for the report, I'm investigating |
I made a fix in #1171 and released in 1.5.2. Can you re-test with this? |
I think this is good now. I have been running with 1.5.2 today and have not seen an issue. thanks! |
Thanks for the confirmation. Closing, but please re-open if you see otherwise |
Just for the record, I created a reproducer for the |
The HdrHistogram is fairly well-documented to be not thread-safe. It was a bug on my part to use it otherwise. |
When the app server is connected to dashboard by event stream, i found some exception in our log:
The dashboard still works, but maybe there is a bug here.
The text was updated successfully, but these errors were encountered: