eclipse-ee4j / eclipse-ee4j/jersey
Jersey Threads blocking under heavy load
- Dominant language
- Java
- Stars
- 730
- Forks
- 382
- PR merge metrics
- No merged PRs in 30d
Description
Been constantly getting the below error in weblogic when we put JERSEY under heavy stress.
```
#### <> <> <> <1481123372881> <48% of the total memory in the server is free.>
#### <[ACTIVE] ExecuteThread: '22' for queue: 'weblogic.kernel.Default (self-tuning)'> <> <> <> <1481123541709> <[STUCK] ExecuteThread: '12' for queue: 'weblogic.kernel.Default (self-tuning)' has been busy for "645" seconds working on the request "Workmanager: default, Version: 5, Scheduled=true, Started=true, Started time: 645131 ms
", which is more than the configured time (StuckThreadMaxTime) of "600" seconds. Stack trace:
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(LockSupport.java:198)
java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:846)
java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1006)
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1315)
jersey.repackaged.com.google.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:285)
jersey.repackaged.com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:116)
org.glassfish.jersey.servlet.internal.ResponseWriter.getResponseContext(ResponseWriter.java:277)
org.glassfish.jersey.servlet.internal.ResponseWriter.commit(ResponseWriter.java:191)
org.glassfish.jersey.server.ContainerResponse.close(ContainerResponse.java:413)
org.glassfish.jersey.server.ServerRuntime$Responder.writeResponse(ServerRuntime.java:750)
org.glassfish.jersey.server.ServerRuntime$Responder.processResponse(ServerRuntime.java:424)
org.glassfish.jersey.server.ServerRuntime$Responder.process(ServerRuntime.java:414)
org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:311)
org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
org.glassfish.jersey.internal.Errors.process(Errors.java:315)
org.glassfish.jersey.internal.Errors.process(Errors.java:297)
org.glassfish.jersey.internal.Errors.process(Errors.java:267)
org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)
org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:291)
org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1140)
org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:403)
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:386)
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:334)
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:221)
weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:242)
weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:216)
weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:132)
weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:338)
weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:221)
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3284)
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3254)
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)
weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2163)
weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2089)
weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2074)
weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1513)
weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:254)
weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
```
#### Environment
Production
#### Affected Versions
[2.19]
Contributor guide
Assessment
This issue has not been assessed yet.