I/O threads experience increased CPU usage for https-listener when task worker thread pool is exhausted in JBoss EAP 7
Issue
- We ran into a situation of exhausted task threads from long-running application requests that were blocked and waiting for a long time. But at that time, we saw increased CPU from the default I/O threads in JBoss EAP 7. The high CPU threads can be seen cycling over
SslConduit.readcalls from theAlpnOpenListenerorHttpReadListener:
12:56:10,512 INFO [stdout] (default I/O-17) io.undertow.protocols.ssl.SslConduit.doUnwrap(SslConduit.java:720)
12:56:10,512 INFO [stdout] (default I/O-17) io.undertow.protocols.ssl.SslConduit.read(SslConduit.java:588)
12:56:10,512 INFO [stdout] (default I/O-17) org.xnio.conduits.ConduitStreamSourceChannel.read(ConduitStreamSourceChannel.java:127)
12:56:10,512 INFO [stdout] (default I/O-17) io.undertow.server.protocol.http.AlpnOpenListener$AlpnConnectionListener.handleEvent(AlpnOpenListener.java:356)
12:56:10,512 INFO [stdout] (default I/O-17) io.undertow.server.protocol.http.AlpnOpenListener$AlpnConnectionListener.handleEvent(AlpnOpenListener.java:341)
12:56:10,512 INFO [stdout] (default I/O-17) org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
12:56:10,512 INFO [stdout] (default I/O-17) org.xnio.conduits.ReadReadyHandler$ChannelListenerHandler.readReady(ReadReadyHandler.java:66)
12:56:10,512 INFO [stdout] (default I/O-17) io.undertow.protocols.ssl.SslConduit$SslReadReadyHandler.readReady(SslConduit.java:1291)
12:56:10,512 INFO [stdout] (default I/O-17) org.xnio.nio.NioSocketConduit.handleReady(NioSocketConduit.java:89)
12:56:10,512 INFO [stdout] (default I/O-17) org.xnio.nio.WorkerThread.run(WorkerThread.java:591)
10:14:29,798 INFO [stdout] (default I/O-23) io.undertow.protocols.ssl.SslConduit.doUnwrap(SslConduit.java:850)
10:14:29,798 INFO [stdout] (default I/O-23) io.undertow.protocols.ssl.SslConduit.read(SslConduit.java:587)
10:14:29,798 INFO [stdout] (default I/O-23) org.xnio.conduits.AbstractStreamSourceConduit.read(AbstractStreamSourceConduit.java:51)
10:14:29,798 INFO [stdout] (default I/O-23) io.undertow.conduits.BytesReceivedStreamSourceConduit.read(BytesReceivedStreamSourceConduit.java:67)
10:14:29,798 INFO [stdout] (default I/O-23) org.xnio.conduits.ConduitStreamSourceChannel.read(ConduitStreamSourceChannel.java:127)
10:14:29,798 INFO [stdout] (default I/O-23) io.undertow.server.protocol.http.HttpReadListener.handleEventWithNoRunningRequest(HttpReadListener.java:158)
10:14:29,798 INFO [stdout] (default I/O-23) io.undertow.server.protocol.http.HttpReadListener.handleEvent(HttpReadListener.java:136)
10:14:29,798 INFO [stdout] (default I/O-23) io.undertow.server.protocol.http.HttpReadListener.handleEvent(HttpReadListener.java:59)
10:14:29,798 INFO [stdout] (default I/O-23) org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
10:14:29,798 INFO [stdout] (default I/O-23) org.xnio.conduits.ReadReadyHandler$ChannelListenerHandler.readReady(ReadReadyHandler.java:66)
10:14:29,798 INFO [stdout] (default I/O-23) io.undertow.protocols.ssl.SslConduit$SslReadReadyHandler.readReady(SslConduit.java:1274)
10:14:29,798 INFO [stdout] (default I/O-23) io.undertow.protocols.ssl.SslConduit$1.run(SslConduit.java:183)
10:14:29,798 INFO [stdout] (default I/O-23) io.undertow.protocols.ssl.SslConduit$2.run(SslConduit.java:198)
10:14:29,798 INFO [stdout] (default I/O-23) org.xnio.nio.WorkerThread.safeRun(WorkerThread.java:612)
Environment
- JBoss Enterprise Application Platform (EAP)
- 7.x
- 8.x
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.