[jboss-jira] [JBoss JIRA] (WFLY-3652) Network connection leak
Seth Miller (JIRA)
issues at jboss.org
Thu Sep 25 17:30:02 EDT 2014
[ https://issues.jboss.org/browse/WFLY-3652?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13006263#comment-13006263 ]
Seth Miller commented on WFLY-3652:
-----------------------------------
I am still able to repro this, or a very similar leak in Async on the latest 8.x HEAD branch (Undertow 1.1.0.RC2, which is newer than 1.1.0.Beta8 currently in wildfly-core/HEAD and newer than 1.1.0.Beta7 used in 9.0.0.Alpha1).
Here's the related heap dump output; in load testing we are leaking about 100mb an hour. I am willing to submit a pull request if anyone has suggestions.
{code}
Class Name | Shallow Heap | Retained Heap
----------------------------------------------------------------------------------------------------------------------------------------------------
this$0 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask @ 0x2318e2e40 | 72 | 72
|- outerTask java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask @ 0x2318e2e40 | 72 | 72
|- scheduledFuture org.eclipse.jetty.util.thread.ScheduledExecutorScheduler$ScheduledFutureTask @ 0x2318e2e88 | 24 | 96
| '- task org.cometd.server.transport.AsyncJSONTransport$AsyncLongPollScheduler @ 0x2318e2dd8 | 48 | 144
| '- asyncListener io.undertow.servlet.spec.AsyncContextImpl$BoundAsyncListener @ 0x2318e2e08 | 32 | 176
| '- [0] java.lang.Object[1] @ 0x2318e2e28 | 24 | 200
| '- array java.util.concurrent.CopyOnWriteArrayList @ 0x2786644e0 | 24 | 272
| '- asyncListeners io.undertow.servlet.spec.AsyncContextImpl @ 0x278664498 | 72 | 464
| |- asyncContext io.undertow.servlet.spec.HttpServletRequestImpl @ 0x2318e2738 | 72 | 144
| |- asyncContext org.cometd.server.transport.AsyncJSONTransport$AsyncLongPollScheduler @ 0x2318e2dd8| 48 | 144
| |- this$0 io.undertow.servlet.spec.AsyncContextImpl$BoundAsyncListener @ 0x2318e2e08 | 32 | 176
| |- asyncContext io.undertow.servlet.spec.ServletOutputStreamImpl @ 0x278622580 | 72 | 6,136
| |- asyncContext org.cometd.server.transport.AsyncJSONTransport$Writer @ 0x2786225c8 | 56 | 6,040
| |- this$0 io.undertow.servlet.spec.AsyncContextImpl$TimeoutTask @ 0x278664528 | 16 | 16
| |- asyncContext org.cometd.server.transport.AsyncJSONTransport$UTF8Reader @ 0x2786645a0 | 40 | 1,664
| |- asyncContext io.undertow.servlet.spec.ServletInputStreamImpl @ 0x278664c20 | 48 | 1,712
----------------------------------------------------------------------------------------------------------------------------------------------------
{code}
> Network connection leak
> -----------------------
>
> Key: WFLY-3652
> URL: https://issues.jboss.org/browse/WFLY-3652
> Project: WildFly
> Issue Type: Bug
> Components: Web (Undertow)
> Affects Versions: 8.1.0.Final
> Environment: Linux 2.6.38-16-server
> Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
> Reporter: Jan Vanhercke
> Assignee: Stuart Douglas
> Fix For: 9.0.0.Alpha1
>
>
> When using Asynchronous servlets and AsyncListeners for long polling we observe a connection leak in the undertow subsystem.
> Heap dumps show a large number of org.xnio.io.NioSocketConduit, io.undertow.server.protocol.http.HttpServerConnection and related objects.
> However, since the effective number of connections is far less, nearly all AsyncContext instances we find are in a complete state and lsof output returns a large number of sockets with 'can't identify protocol' entries indicating that sockets are kept open by the JVM but are in fact half closed by the network stack.
> Not all connections appear to be leaking, but over time, depending on the load, the server instance fills up.
--
This message was sent by Atlassian JIRA
(v6.3.1#6329)
More information about the jboss-jira
mailing list