3 Replies Latest reply on Nov 22, 2010 7:07 AM by 806604

    JdbcTemplate bulkUpdate Stuck Thread Max Time 600 seconds and weblogic

    806604
      I am using JdcTemplate batchUpdate Method to insert/update data to database.
      In the below scenario, i am getting the thread stuck issue (as per below stack trace start and end below)

      ******
      scenario
      ******

      My service method is updateData() - Transaction is surrounded at service level (not DAO)
      My DAO method is insert Data()

      When user click' on submit button in UI with 1lakh data as input (either update or insert), updateData method will be called and with in updateData method we call insertData () of DAO.

      With in insertData, i have four method as below which basically updates data in to main (master) tables/templates, inserts data into history table (we maintain history for the table data using another table), updates in to hisotry and inserts into hisotry.


      bulkUpdateMasterTemplate(......);
      bulkInsertIntoHistoryTemplate(........);
      bulkUpdateIntoHistoryTemplate(......);
      bulkInsertIntoMasterTemplate(........);


      IN ONE SCENARIO, there will be 1 lakh records already present in history and master table in DB, we try to update all rows in master and same time insert and update data into history
      bulkUpdateMasterTemplate(......); - 1lakh records uodate
      bulkInsertIntoHistoryTemplate(........) -; - 1 lakh new records insert
      bulkUpdateIntoHistoryTemplate(......); - old 1 lakh records update (we change validaity dates column for old l lakh) - AT THIS POINT, THE PROCESS HALTS FOR more THAN 600 Seconds.
      bulkInsertIntoMasterTemplate(........) - o records insert

      i have put system.outs in the third method (bulkUpdateIntoHistoryTemplate) and found thread is waiting for long time. Can anyone help on this?



      1) I have checked connection pool and its fine.i am using weblogic connection pool. No Connection issues.
      2) tried with both drivers ojdbc14 and ojdbc6
      3) DB version is Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
      4) weblogic version - WebLogic Server Version: 10.3.2.0
      4) Splitted 1lakh records in third method in 10 chunks and called 10 times and result is same . ERROR






      ******************
      STACK TRACE START
      ******************
      ]", which is more than the configured time (StuckThreadMaxTime) of "600" seconds
      . Stack trace:
      java.net.SocketOutputStream.socketWrite0(Native Method)
      java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
      java.net.SocketOutputStream.write(SocketOutputStream.java:136)
      oracle.net.ns.DataPacket.send(DataPacket.java:150)
      oracle.net.ns.NetOutputStream.write(NetOutputStream.java:145)
      oracle.jdbc.driver.T4CSocketOutputStreamWrapper.flush(T4CSocketOutputStr
      eamWrapper.java:92)
      oracle.jdbc.driver.T4CSocketOutputStreamWrapper.write(T4CSocketOutputStr
      eamWrapper.java:82)
      oracle.jdbc.driver.T4CMAREngine.marshalCLR(T4CMAREngine.java:681)
      oracle.jdbc.driver.T4CTTIrxd.marshal(T4CTTIrxd.java:522)
      oracle.jdbc.driver.T4C8Oall.marshalBinds(T4C8Oall.java:1795)
      oracle.jdbc.driver.T4C8Oall.marshalAll(T4C8Oall.java:1252)
      oracle.jdbc.driver.T4C8Oall.marshal(T4C8Oall.java:543)
      oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.jav
      a:180)
      oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatem
      ent.java:953)
      oracle.jdbc.driver.OraclePreparedStatement.executeForRowsWithTimeout(Ora
      clePreparedStatement.java:9253)
      oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedSt
      atement.java:9353)
      oracle.jdbc.driver.OracleStatementWrapper.executeBatch(OracleStatementWr
      apper.java:211)
      weblogic.jdbc.wrapper.PreparedStatement.executeBatch(PreparedStatement.j
      ava:191)
      org.springframework.jdbc.core.JdbcTemplate$4.doInPreparedStatement(JdbcT
      emplate.java:881)
      org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:591
      )
      org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:619
      )
      org.springframework.jdbc.core.JdbcTemplate.batchUpdate(JdbcTemplate.java
      :866)
      **com.we.gs.rds.dao.DataManagementDAOImpl.bulkUpdateIntoHistoryTemplate(D**
      **ataManagementDAOImpl.java:1764)**
      **com.we.gs.rds.dao.DataManagementDAOImpl.insertData(DataManagementDAOImp**
      **l.java:1500)**
      **com.we.gs.rds.service.DataManagementServiceImpl.updateData(DataManageme**
      **ntServiceImpl.java:174)**
      ******************
      STACK TRACE END
      ******************
        • 1. Re: JdbcTemplate bulkUpdate Stuck Thread Max Time 600 seconds and weblogic
          806604
          Can anyone help me on solution for the problem posted in the thread?
          • 2. Re: JdbcTemplate bulkUpdate Stuck Thread Max Time 600 seconds and weblogic
            806604
            Stack Trace of Stuck Thread
            ***********************



            "[STANDBY] ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)'" waiting for lock weblogic.work.ExecuteThread@11f1d97 WAITING

                 java.lang.Object.wait(Native Method)

                 java.lang.Object.wait(Object.java:485)

                 weblogic.work.ExecuteThread.waitForRequest(ExecuteThread.java:157)

                 weblogic.work.ExecuteThread.run(ExecuteThread.java:178)

            "[STANDBY] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'" waiting for lock weblogic.work.ExecuteThread@1cfc6ee WAITING

                 java.lang.Object.wait(Native Method)

                 java.lang.Object.wait(Object.java:485)

                 weblogic.work.ExecuteThread.waitForRequest(ExecuteThread.java:157)

                 weblogic.work.ExecuteThread.run(ExecuteThread.java:178)

            "DynamicListenThread[Default]" RUNNABLE native

                 java.net.PlainSocketImpl.socketAccept(Native Method)

                 java.net.PlainSocketImpl.accept(PlainSocketImpl.java:390)

                 java.net.ServerSocket.implAccept(ServerSocket.java:453)

                 java.net.ServerSocket.accept(ServerSocket.java:421)

                 weblogic.socket.WeblogicServerSocket.accept(WeblogicServerSocket.java:38)

                 weblogic.server.channels.DynamicListenThread$SocketAccepter.accept(DynamicListenThread.java:528)

                 weblogic.server.channels.DynamicListenThread$SocketAccepter.access$200(DynamicListenThread.java:420)

                 weblogic.server.channels.DynamicListenThread.run(DynamicListenThread.java:171)

                 java.lang.Thread.run(Thread.java:619)

            "DynamicListenThread[Default[1]]" RUNNABLE native

                 java.net.PlainSocketImpl.socketAccept(Native Method)

                 java.net.PlainSocketImpl.accept(PlainSocketImpl.java:390)

                 java.net.ServerSocket.implAccept(ServerSocket.java:453)

                 java.net.ServerSocket.accept(ServerSocket.java:421)

                 weblogic.socket.WeblogicServerSocket.accept(WeblogicServerSocket.java:38)

                 weblogic.server.channels.DynamicListenThread$SocketAccepter.accept(DynamicListenThread.java:528)

                 weblogic.server.channels.DynamicListenThread$SocketAccepter.access$200(DynamicListenThread.java:420)

                 weblogic.server.channels.DynamicListenThread.run(DynamicListenThread.java:171)

                 java.lang.Thread.run(Thread.java:619)

            "DynamicListenThread[Default[2]]" RUNNABLE native

                 java.net.PlainSocketImpl.socketAccept(Native Method)

                 java.net.PlainSocketImpl.accept(PlainSocketImpl.java:390)

                 java.net.ServerSocket.implAccept(ServerSocket.java:453)

                 java.net.ServerSocket.accept(ServerSocket.java:421)

                 weblogic.socket.WeblogicServerSocket.accept(WeblogicServerSocket.java:38)

                 weblogic.server.channels.DynamicListenThread$SocketAccepter.accept(DynamicListenThread.java:528)

                 weblogic.server.channels.DynamicListenThread$SocketAccepter.access$200(DynamicListenThread.java:420)

                 weblogic.server.channels.DynamicListenThread.run(DynamicListenThread.java:171)

                 java.lang.Thread.run(Thread.java:619)

            "weblogic.GCMonitor" waiting for lock java.lang.ref.ReferenceQueue$Lock@d4bc7 TIMED_WAITING

                 java.lang.Object.wait(Native Method)

                 java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)

                 weblogic.platform.GCMonitorThread.waitForNotification(GCMonitorThread.java:88)

                 weblogic.platform.GCMonitorThread.run(GCMonitorThread.java:64)

            "[STANDBY] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'" waiting for lock weblogic.work.ExecuteThread@ea3050 WAITING

                 java.lang.Object.wait(Native Method)

                 java.lang.Object.wait(Object.java:485)

                 weblogic.work.ExecuteThread.waitForRequest(ExecuteThread.java:157)

                 weblogic.work.ExecuteThread.run(ExecuteThread.java:178)

            "Thread-12" waiting for lock java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@109f88f WAITING

                 sun.misc.Unsafe.park(Native Method)

                 java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)

                 java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)

                 java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:358)

                 weblogic.utils.concurrent.JDK15ConcurrentBlockingQueue.take(JDK15ConcurrentBlockingQueue.java:89)

                 weblogic.store.internal.PersistentStoreImpl.getOutstandingWork(PersistentStoreImpl.java:567)

                 weblogic.store.internal.PersistentStoreImpl.run(PersistentStoreImpl.java:615)

                 weblogic.store.internal.PersistentStoreImpl$2.run(PersistentStoreImpl.java:383)

            "Thread-11" waiting for lock java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@19d918a WAITING

                 sun.misc.Unsafe.park(Native Method)

                 java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)

                 java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)

                 java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:358)

                 weblogic.utils.concurrent.JDK15ConcurrentBlockingQueue.take(JDK15ConcurrentBlockingQueue.java:89)

                 weblogic.store.internal.PersistentStoreImpl.getOutstandingWork(PersistentStoreImpl.java:567)

                 weblogic.store.internal.PersistentStoreImpl.run(PersistentStoreImpl.java:615)

                 weblogic.store.internal.PersistentStoreImpl$2.run(PersistentStoreImpl.java:383)

            "DoSManager" TIMED_WAITING

                 java.lang.Thread.sleep(Native Method)

                 com.octetstring.vde.DoSManager.run(DoSManager.java:433)

            "VDE Transaction Processor Thread" waiting for lock com.octetstring.vde.backend.standard.TransactionProcessor@1be1aa0 WAITING

                 java.lang.Object.wait(Native Method)

                 java.lang.Object.wait(Object.java:485)

                 com.octetstring.vde.backend.standard.TransactionProcessor.waitChange(TransactionProcessor.java:367)

                 com.octetstring.vde.backend.standard.TransactionProcessor.run(TransactionProcessor.java:212)

            "ExecuteThread: '2' for queue: 'weblogic.socket.Muxer'" RUNNABLE native

                 weblogic.socket.NTSocketMuxer.getIoCompletionResult(Native Method)

                 weblogic.socket.NTSocketMuxer.processSockets(NTSocketMuxer.java:81)

                 weblogic.socket.SocketReaderRequest.run(SocketReaderRequest.java:29)

                 weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:42)

                 weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:145)

                 weblogic.kernel.ExecuteThread.run(ExecuteThread.java:117)

            "ExecuteThread: '1' for queue: 'weblogic.socket.Muxer'" RUNNABLE native

                 weblogic.socket.NTSocketMuxer.getIoCompletionResult(Native Method)

                 weblogic.socket.NTSocketMuxer.processSockets(NTSocketMuxer.java:81)

                 weblogic.socket.SocketReaderRequest.run(SocketReaderRequest.java:29)

                 weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:42)

                 weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:145)

                 weblogic.kernel.ExecuteThread.run(ExecuteThread.java:117)

            "ExecuteThread: '0' for queue: 'weblogic.socket.Muxer'" RUNNABLE native

                 weblogic.socket.NTSocketMuxer.getIoCompletionResult(Native Method)

                 weblogic.socket.NTSocketMuxer.processSockets(NTSocketMuxer.java:81)

                 weblogic.socket.SocketReaderRequest.run(SocketReaderRequest.java:29)

                 weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:42)

                 weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:145)

                 weblogic.kernel.ExecuteThread.run(ExecuteThread.java:117)

            "Thread-7" waiting for lock java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@1c618ea WAITING

                 sun.misc.Unsafe.park(Native Method)

                 java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)

                 java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)

                 java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:358)

                 weblogic.utils.concurrent.JDK15ConcurrentBlockingQueue.take(JDK15ConcurrentBlockingQueue.java:89)

                 weblogic.store.internal.PersistentStoreImpl.getOutstandingWork(PersistentStoreImpl.java:567)

                 weblogic.store.internal.PersistentStoreImpl.run(PersistentStoreImpl.java:615)

                 weblogic.store.internal.PersistentStoreImpl$2.run(PersistentStoreImpl.java:383)

            "[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'" RUNNABLE

                 sun.management.ThreadImpl.getThreadInfo0(Native Method)

                 sun.management.ThreadImpl.getThreadInfo(ThreadImpl.java:145)

                 weblogic.platform.VM15.threadDumpAsString(VM15.java:22)

                 weblogic.platform.VM.threadDumpAsString(VM.java:137)

                 weblogic.t3.srvr.JVMRuntime.getThreadStackDump(JVMRuntime.java:111)

                 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

                 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

                 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

                 java.lang.reflect.Method.invoke(Method.java:597)

                 weblogic.management.jmx.modelmbean.WLSModelMBean.getAttribute(WLSModelMBean.java:525)

                 com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(DefaultMBeanServerInterceptor.java:666)

                 com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute(JmxMBeanServer.java:638)

                 weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase$12.run(WLSMBeanServerInterceptorBase.java:326)

                 java.security.AccessController.doPrivileged(Native Method)

                 weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase.getAttribute(WLSMBeanServerInterceptorBase.java:324)

                 weblogic.management.mbeanservers.internal.JMXContextInterceptor.getAttribute(JMXContextInterceptor.java:163)

                 weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase$12.run(WLSMBeanServerInterceptorBase.java:326)

                 java.security.AccessController.doPrivileged(Native Method)

                 weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase.getAttribute(WLSMBeanServerInterceptorBase.java:324)

                 weblogic.management.mbeanservers.internal.SecurityInterceptor.getAttribute(SecurityInterceptor.java:298)

                 weblogic.management.jmx.mbeanserver.WLSMBeanServer.getAttribute(WLSMBeanServer.java:273)

                 weblogic.management.mbeanservers.domainruntime.internal.ManagedMBeanServerConnection.getAttribute(ManagedMBeanServerConnection.java:304)

                 weblogic.management.mbeanservers.domainruntime.internal.FederatedMBeanServerInterceptor.getAttribute(FederatedMBeanServerInterceptor.java:308)

                 weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase$12.run(WLSMBeanServerInterceptorBase.java:326)

                 java.security.AccessController.doPrivileged(Native Method)

                 weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase.getAttribute(WLSMBeanServerInterceptorBase.java:324)

                 weblogic.management.mbeanservers.internal.JMXContextInterceptor.getAttribute(JMXContextInterceptor.java:163)

                 weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase$12.run(WLSMBeanServerInterceptorBase.java:326)

                 java.security.AccessController.doPrivileged(Native Method)

                 weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase.getAttribute(WLSMBeanServerInterceptorBase.java:324)

                 weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase$12.run(WLSMBeanServerInterceptorBase.java:326)

                 java.security.AccessController.doPrivileged(Native Method)

                 weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase.getAttribute(WLSMBeanServerInterceptorBase.java:324)

                 weblogic.management.mbeanservers.internal.SecurityInterceptor.getAttribute(SecurityInterceptor.java:298)

                 weblogic.management.jmx.mbeanserver.WLSMBeanServer.getAttribute(WLSMBeanServer.java:273)

                 weblogic.management.mbeanservers.internal.JMXConnectorSubjectForwarder$5$1.run(JMXConnectorSubjectForwarder.java:326)

                 java.security.AccessController.doPrivileged(Native Method)

                 weblogic.management.mbeanservers.internal.JMXConnectorSubjectForwarder$5.run(JMXConnectorSubjectForwarder.java:324)

                 weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)

                 weblogic.management.mbeanservers.internal.JMXConnectorSubjectForwarder.getAttribute(JMXConnectorSubjectForwarder.java:319)

                 javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1403)

                 javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:72)

                 javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1264)

                 java.security.AccessController.doPrivileged(Native Method)

                 javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1366)

                 javax.management.remote.rmi.RMIConnectionImpl.getAttribute(RMIConnectionImpl.java:600)

                 javax.management.remote.rmi.RMIConnectionImpl_WLSkel.invoke(Unknown Source)

                 weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:174)

                 weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:222)

                 javax.management.remote.rmi.RMIConnectionImpl_1032_WLStub.getAttribute(Unknown Source)

                 javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.getAttribute(RMIConnector.java:878)

                 javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:263)

                 weblogic.management.jmx.MBeanServerInvocationHandler.doInvoke(MBeanServerInvocationHandler.java:504)

                 weblogic.management.jmx.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:380)

                 $Proxy77.getThreadStackDump(Unknown Source)

                 com.bea.console.actions.core.server.ThreadStackDumpAction.getCollection(ThreadStackDumpAction.java:61)

                 com.bea.console.actions.BaseTableAction.display(BaseTableAction.java:46)

                 com.bea.console.actions.BaseDisplayAction.execute(BaseDisplayAction.java:92)

                 org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)

                 org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.access$201(PageFlowRequestProcessor.java:97)

                 org.apache.beehive.netui.pageflow.PageFlowRequestProcessor$ActionRunner.execute(PageFlowRequestProcessor.java:2044)

                 org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors.wrapAction(ActionInterceptors.java:91)

                 org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processActionPerform(PageFlowRequestProcessor.java:2116)

                 com.bea.console.internal.ConsolePageFlowRequestProcessor.processActionPerform(ConsolePageFlowRequestProcessor.java:261)

                 org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)

                 org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processInternal(PageFlowRequestProcessor.java:556)

                 org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:853)

                 org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:631)

                 org.apache.beehive.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:158)

                 com.bea.console.internal.ConsoleActionServlet.process(ConsoleActionServlet.java:256)

                 org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)

                 com.bea.console.internal.ConsoleActionServlet.doGet(ConsoleActionServlet.java:133)

                 org.apache.beehive.netui.pageflow.PageFlowUtils.strutsLookup(PageFlowUtils.java:1199)

                 com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.executeAction(ScopedContentCommonSupport.java:686)

                 com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.renderInternal(ScopedContentCommonSupport.java:266)

                 com.bea.portlet.adapter.scopedcontent.StrutsStubImpl.render(StrutsStubImpl.java:107)

                 com.bea.netuix.servlets.controls.content.NetuiContent.preRender(NetuiContent.java:292)

                 com.bea.netuix.nf.ControlLifecycle$6.visit(ControlLifecycle.java:428)

                 com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:727)

                 com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739)

                 com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739)

                 com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739)

                 com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739)

                 com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739)

                 com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739)

                 com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739)

                 com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739)

                 com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739)

                 com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739)

                 com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739)

                 com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739)

                 com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739)

                 com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739)

                 com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739)

                 com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739)

                 com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739)

                 com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739)

                 com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739)

                 com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739)

                 com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739)

                 com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:739)

                 com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:146)

                 com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:395)

                 com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:361)

                 com.bea.netuix.nf.Lifecycle.runOutbound(Lifecycle.java:208)

                 com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:162)

                 com.bea.netuix.servlets.manager.UIServlet.runLifecycle(UIServlet.java:388)

                 com.bea.netuix.servlets.manager.UIServlet.doPost(UIServlet.java:258)

                 com.bea.netuix.servlets.manager.UIServlet.doGet(UIServlet.java:211)

                 com.bea.netuix.servlets.manager.UIServlet.service(UIServlet.java:196)

                 com.bea.netuix.servlets.manager.SingleFileServlet.service(SingleFileServlet.java:251)

                 javax.servlet.http.HttpServlet.service(HttpServlet.java:820)

                 com.bea.console.utils.MBeanUtilsInitSingleFileServlet.service(MBeanUtilsInitSingleFileServlet.java:47)

                 weblogic.servlet.AsyncInitServlet.service(AsyncInitServlet.java:130)

                 weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)

                 weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)

                 weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)

                 weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)

                 weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

                 weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)

                 weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

                 weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3592)

                 weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)

                 weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)

                 weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)

                 weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)

                 weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)

                 weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)

                 weblogic.work.ExecuteThread.run(ExecuteThread.java:173)

            "weblogic.timers.TimerThread" waiting for lock weblogic.timers.internal.TimerThread@8dad9c TIMED_WAITING

                 java.lang.Object.wait(Native Method)

                 weblogic.timers.internal.TimerThread$Thread.run(TimerThread.java:267)

            "weblogic.time.TimeEventGenerator" waiting for lock weblogic.time.common.internal.TimeTable@180e541 TIMED_WAITING

                 java.lang.Object.wait(Native Method)

                 weblogic.time.common.internal.TimeTable.snooze(TimeTable.java:286)

                 weblogic.time.common.internal.TimeEventGenerator.run(TimeEventGenerator.java:117)

                 java.lang.Thread.run(Thread.java:619)

            "[STUCK] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'" RUNNABLE native

                 java.net.SocketInputStream.socketRead0(Native Method)

                 java.net.SocketInputStream.read(SocketInputStream.java:129)

                 oracle.net.ns.Packet.receive(Packet.java:290)

                 oracle.net.ns.DataPacket.receive(DataPacket.java:89)

                 oracle.net.ns.NetInputStream.getNextPacket(NetInputStream.java:171)

                 oracle.net.ns.NetInputStream.read(NetInputStream.java:116)

                 oracle.net.ns.NetInputStream.read(NetInputStream.java:91)

                 oracle.net.ns.NetInputStream.read(NetInputStream.java:76)

                 oracle.jdbc.driver.T4CSocketInputStreamWrapper.readNextPacket(T4CSocketInputStreamWrapper.java:119)

                 oracle.jdbc.driver.T4CSocketInputStreamWrapper.read(T4CSocketInputStreamWrapper.java:75)

                 oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1082)

                 oracle.jdbc.driver.T4CMAREngine.unmarshalSB1(T4CMAREngine.java:1057)

                 oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:620)

                 oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:216)

                 oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1250)

                 oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1517)

                 oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3888)

                 oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:4032)

                 oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.java:4008)

                 weblogic.jdbc.wrapper.PreparedStatement.executeUpdate(PreparedStatement.java:159)

                 org.springframework.jdbc.core.JdbcTemplate$2.doInPreparedStatement(JdbcTemplate.java:798)

                 org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:591)

                 org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:792)

                 org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:850)

                 com.we.gs.rds.dao.DataManagementDAOImpl.bulkUpdateIntoHistoryTemplate(DataManagementDAOImpl.java:1772)

            *     com.we.gs.rds.dao.DataManagementDAOImpl.insertData(DataManagementDAOImpl.java:1506)*
            • 3. Re: JdbcTemplate bulkUpdate Stuck Thread Max Time 600 seconds and weblogic
              806604
              It was not scenario problem. I didn't create Primary key for the table (history table) which i am doing a bulk update (update/delete). Created a primary key column and solved the problem