Managed Servers going into Warning State due to Stuck Threads with JCA Polling Proxies (Doc ID 1374973.1)

Last updated on NOVEMBER 03, 2016

Applies to:

Oracle Service Bus - Version 10.3 and later
Information in this document applies to any platform.
***Checked for relevance on 17-June-2013***

Goal

If you have a JCA polling proxy service listening for certain events, e.g. File Adapter, DB Adapter, AQ Adapter etc. you are likely to see stuck thread messages in server log, causing the server's health status to go to WARNING state. Stuck threads will look like the following:

- sample stuck thread with DB Adapter proxy


<Error> <WebLogicServer> <BEA-000337> <[STUCK] ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)' has been busy for "600" seconds working on the request "weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl@1354bd7", which is more than the configured time (StuckThreadMaxTime) of "600" seconds. Stack trace:
java.lang.Object.wait(Native Method)
oracle.tip.adapter.db.InboundWork.run(InboundWork.java:492)
oracle.tip.adapter.db.inbound.InboundWorkWrapper.run(InboundWorkWrapper.java:43)
weblogic.work.ContextWrap.run(ContextWrap.java:41)
weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
>



- sample stuck thread with File adapter proxy


<Error> <WebLogicServer> <BEA-000337> <[STUCK] ExecuteThread: '7' for queue: 'weblogic.kernel.Default (self-tuning)' has been busy for "717" seconds working on the request "weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl@15bbea2", which is more than the configured time (StuckThreadMaxTime) of "600" seconds. Stack trace:
java.lang.Object.wait(Native Method)
oracle.tip.adapter.file.inbound.FilesToProcess.dequeueToProcess(FilesToProcess.java:101)
oracle.tip.adapter.file.inbound.ProcessWork.run(ProcessWork.java:269)
weblogic.work.ContextWrap.run(ContextWrap.java:41)
weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
weblogic.work.ExecuteThread.run(ExecuteThread.java:176)




-sample stuck thread with AQ Adapter proxy


<Error> <WebLogicServer> <BEA-000337> <[STUCK] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)' has been busy for "690" seconds working on the request "weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl@394ca9b1", which is more than the configured time (StuckThreadMaxTime) of "600" seconds. Stack trace:
java.net.SocketInputStream.socketRead0(Native Method)
java.net.SocketInputStream.read(SocketInputStream.java:129)
oracle.net.nt.MetricsEnabledInputStream.read(TcpNTAdapter.java:718)
oracle.net.ns.Packet.receive(Packet.java:295)
oracle.net.ns.DataPacket.receive(DataPacket.java:106)
oracle.net.ns.NetInputStream.getNextPacket(NetInputStream.java:317)
oracle.net.ns.NetInputStream.read(NetInputStream.java:262)
oracle.net.ns.NetInputStream.read(NetInputStream.java:187)
oracle.net.ns.NetInputStream.read(NetInputStream.java:104)
oracle.jdbc.driver.T4CSocketInputStreamWrapper.readNextPacket(T4CSocketInputStreamWrapper.java:126)
oracle.jdbc.driver.T4CSocketInputStreamWrapper.read(T4CSocketInputStreamWrapper.java:82)
oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1177)
oracle.jdbc.driver.T4CMAREngine.unmarshalSB1(T4CMAREngine.java:1153)
oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:312)
oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:204)
oracle.jdbc.driver.T4Caqdq.doOAQDQ(T4Caqdq.java:183)
oracle.jdbc.driver.T4CConnection.doDequeue(T4CConnection.java:4559)
oracle.jdbc.driver.PhysicalConnection.dequeue(PhysicalConnection.java:17726)
oracle.jdbc.driver.PhysicalConnection.dequeue(PhysicalConnection.java:17812)
oracle.jdbc.OracleConnectionWrapper.dequeue(OracleConnectionWrapper.java:1606)
weblogic.jdbc.wrapper.XAConnection_oracle_jdbc_driver_LogicalConnection.dequeue(Unknown Source)
weblogic.jdbc.wrapper.JTAConnection_weblogic_jdbc_wrapper_XAConnection_oracle_jdbc_driver_LogicalConnection.dequeue(Unknown Source)
oracle.tip.adapter.aq.v2.database.AbstractDequeueAgent.dequeue(AbstractDequeueAgent.java:375)
oracle.tip.adapter.aq.v2.database.AbstractDequeueAgent.dequeueMessage(AbstractDequeueAgent.java:277)
oracle.tip.adapter.aq.v2.database.AbstractDequeueAgent.getInputRecord(AbstractDequeueAgent.java:250)
oracle.tip.adapter.aq.v2.database.AbstractDequeueAgent.run(AbstractDequeueAgent.java:111)
weblogic.work.ContextWrap.run(ContextWrap.java:41)
weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
weblogic.work.ExecuteThread.run(ExecuteThread.java:176)



Solution

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms