Support Article
Hung Thread issue in PRPC deployed in WebSphere App server
SA-16980
Summary
Hung Thread Issue in Websphere Application Server. Sometimes user used to receive Hung Threads issue in any of the JVMs, this could lead to outage in the application if it is not checked and timely actions are performed.
Error Messages
[10/16/15 3:30:31:321 MST] 00000004 ThreadMonitor W CWWSR0605W: Thread "SoapConnectorThreadPool : 6" (000002e5) has been active for 753764 milliseconds and may be hung. There is/are 25 thread(s) in total in the server that may be hung.
at com.pega.pegarules.data.internal.access.CachedAliasImpl.estimateDataSize(CachedAliasImpl.java:201)
at com.pega.pegarules.data.internal.access.CacheContainerImpl.estimateDataSize(CacheContainerImpl.java:1217)
at com.pega.pegarules.data.internal.access.CacheContainerImpl.getDataSizeAndStatus(CacheContainerImpl.java:1192)
at com.pega.pegarules.management.internal.MemoryManagementAPI._RuleCacheEstimateSize(MemoryManagementAPI.java:223)
at com.pega.pegarules.management.internal.MemoryManagementAPI.MemoryStatus(MemoryManagementAPI.java:330)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at com.pega.pegarules.management.internal.MB2EngineAccess.invoke(MB2EngineAccess.java:158)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl._invoke_privact(EngineImpl.java:361)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl.run(EngineImpl.java:346)
at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:1079)
at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:766)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl._invokeEngine_privact(EngineImpl.java:320)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl.invokeEngine(EngineImpl.java:263)
at com.pega.pegarules.session.internal.engineinterface.etier.ejb.EngineBean.invokeEngine(EngineBean.java:221)
at sun.reflect.GeneratedMethodAccessor127.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethod(PRBootstrap.java:349)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable(PRBootstrap.java:390)
Steps to Reproduce
N/A
Root Cause
Configuration issue in the application server environment causing too many SoapConnectorThreadPool threads are hung in WebSphere Appliation Server. The SoapConnectorThreadPool is used for administrative messages.
Resolution
Following settings in WebSphere Application server controls max number of threads and can decide whether threads are growable or not after reaching the max number, by default it is true.
- SOAP_SERVER_THREADS_PROP
- SOAP_CONNECTOR_THREAD_POOL_GROWABLE
Using this property you can decide whether threads are growable or not after reaching the max number, by default it is true. Due to this threads are growing in the server, which we need to set false.
Published January 31, 2016 - Updated October 8, 2020
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.