-
-
Notifications
You must be signed in to change notification settings - Fork 15.8k
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
ConcurrentModificationException in NioEventLoop #654
Comments
@trustin maybe you could check this out :) |
Thanks for reporting this, @fbettag. Let me take a look. Do you have any additional information (how to reproduce, etc)? |
We have no idea, other than the fact that we penetrated the server with ~3-4k concurrent real connections (in one second after startup) - thats peak because theyre long polling/comet Sent from my iPhone On 16.10.2012, at 19:31, Trustin Lee notifications@github.com wrote:
|
I tried to reproduce the problem by making a bunch of HTTP connections to the HTTP snoop example, but couldn't. Would you mind if you could modify the HTTP snoop example a little bit to reproduce the problem? I'm using httperf to drive it. |
Hm i will try this tonight. |
Thanks in advance! |
we're basically just holding 2k longpolling connects (comet/websockets), the snoop example simply answers them, but does not hold them. maybe that's the key difference? |
I got the same exception with my loadtest when there are more than 2k socket connections. I am using netty with long open raw socket. |
@kelaneren would be possible to weite some testcase ? |
… raise a ConcurrentModificationException when using the nio transport
@kelaneren @fbettag I think I fixed it... Could you please retest with latest master ? |
Yup in a second |
We don't see the exception anymore! Not sure if the problem is gone tho. @kelaneren anything? |
w00t :) I will close it as I'm sure it's fixed... Anyway would be nice if @kelaneren could also test it out ... |
I upgraded netty in my project from 4.0.0.alpha1 to 4.0.0.alpha8 with this fix and got 100% cpu usage when I ran the same loadtest with 2000 connections. I am going to dig more |
Would it be possible to share your "loadtest" ?Norman Maurer Am 08.11.2012 um 13:11 schrieb kelaneren notifications@github.com:
|
Sorry, it's specific to our project. During netty upgrading, I changed b = new ServerBootstrap() from b.eventLoop(new NioEventLoop(), new NioEventLoop()) And the buff used in channel.write(buff) is changed from var buff = new DynamicByteBuf(size); to var buff = new DirectByteBuf(size) I will do some profiling. probably extract it into a more generic test in future |
Two things..
|
Thanks Norman. It was our own issue caused by config change. I confirmed this ConcurrentModificationException is fixed. Cheers |
@kelaneren could you elaborate on that 100% cpu issue? we're having the same thing over here and no idea what's causing it. |
Could get some thread dumps and identify the stack of it .. http://www.semicomplete.com/blog/geekery/debugging-java-performance.html Am 08.11.2012 um 19:21 schrieb Franz Bettag notifications@github.com:
|
io ~ # jps
:( |
we'll try it with icedtea now! |
You need to install the jdk... Also you can use kill -3 as replacement for jstack Sent from my iPhone. Excuse any typos.... Am 08.11.2012 um 19:55 schrieb Franz Bettag notifications@github.com:
|
I got 100% cpu usage again after increase numbers of connections and cpu usage didn't drop after all clients are closed. I did the same test with netty 3.5.9.final. CPU usage is normal. However, I can't increase number of long open connections. After the number is increased to 4k, I got 2012-11-09 11:18:30,810-[New I/O worker #1] ERROR c.s.b.net.FramedSocketServerHandler Unexpected exception from downstream. not sure these are related to this ticket or not. will dig more |
i can confirm this issue |
@fbettag what you can confirm ? |
Under heavy load, i often get this exception:
Reporting the issue as request by norman :)
The text was updated successfully, but these errors were encountered: