Article - CS257947
Some of the queue entries failed to be executed with error "java.sql.SQLRecoverableException: Closed Connection" in Windchill PDMLink
Modified: 04-Mar-2024
Applies To
- Windchill PDMLink 10.0 M030 to 12.0
- Oracle 11.2.0.4
Description
- Some of the queue entries, eg dedicated WfPropagationQueue, failed to be executed, while entries of other queues work well
- It reports the following error in Background MethodServer log:
WfPropagationQueue_########.PollingThread: at wt.queue.ProcessingQueue.execEntries(ProcessingQueue.java:877) WfPropagationQueue_########.PollingThread: at wt.queue.PollingQueueThread.run(PollingQueueThread.java:99) WfPropagationQueue_########.PollingThread: Caused by: wt.workflow.WfException: wt.pom.DatastoreException: A SQL error has occurred. Database system message follows: WfPropagationQueue_########.PollingThread: wt.util.WTIOException: A SQL error has occured. Database system message follows: WfPropagationQueue_########.PollingThread: java.sql.SQLRecoverableException: Closed Connection WfPropagationQueue_########.PollingThread: Nested exception is: wt.pom.DatastoreException: A SQL error has occurred. Database system message follows: WfPropagationQueue_########.PollingThread: wt.util.WTIOException: A SQL error has occured. Database system message follows: WfPropagationQueue_########.PollingThread: java.sql.SQLRecoverableException: Closed Connection WfPropagationQueue_########.PollingThread: at wt.workflow.engine.StandardWfEngineService.propagateEvent(StandardWfEngineService.java:880) WfPropagationQueue_########.PollingThread: ... 7 more WfPropagationQueue_########.PollingThread: Caused by: wt.pom.DatastoreException: A SQL error has occurred. Database system message follows: WfPropagationQueue_########.PollingThread: wt.util.WTIOException: A SQL error has occured. Database system message follows: WfPropagationQueue_########.PollingThread: java.sql.SQLRecoverableException: Closed Connection WfPropagationQueue_########.PollingThread: at wt.pds.ChunkLobHandler.setObjectAsLob(ChunkLobHandler.java:196) WfPropagationQueue_########.PollingThread: at wt.pds.SQLDatabasePds.setObjectAsLob(SQLDatabasePds.java:1192) WfPropagationQueue_########.PollingThread: at wt.pds.WTPreparedStatement.postProcessLobs(WTPreparedStatement.java:585) WfPropagationQueue_########.PollingThread: at wt.pds.SQLDatabasePds.insertList(SQLDatabasePds.java:2270) WfPropagationQueue_########.PollingThread: at wt.pds.SQLDatabasePds.insert(SQLDatabasePds.java:198) WfPropagationQueue_########.PollingThread: at wt.pom.PersistentObjectManager.insert(PersistentObjectManager.java:2589) WfPropagationQueue_########.PollingThread: at wt.pom.PersistentObjectManager.insert(PersistentObjectManager.java:573) WfPropagationQueue_########.PollingThread: at wt.fc.StandardPersistenceManager.insert(StandardPersistenceManager.java:1632) WfPropagationQueue_########.PollingThread: at wt.fc.StandardPersistenceManager.store(StandardPersistenceManager.java:1694) WfPropagationQueue_########.PollingThread: at wt.fc.StandardPersistenceManager.store(StandardPersistenceManager.java:648) WfPropagationQueue_########.PollingThread: at wt.fc.StandardPersistenceManager.save(StandardPersistenceManager.java:641) WfPropagationQueue_########.PollingThread: at sun.reflect.GeneratedMethodAccessor89.invoke(Unknown Source) WfPropagationQueue_########.PollingThread: at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) WfPropagationQueue_########.PollingThread: at java.lang.reflect.Method.invoke(Method.java:597) WfPropagationQueue_########.PollingThread: at wt.services.ServiceFactory$ServerInvocationHandler.invoke(ServiceFactory.java:399) WfPropagationQueue_########.PollingThread: at com.sun.proxy.$Proxy10.save(Unknown Source) WfPropagationQueue_########.PollingThread: at wt.workflow.engine.StandardWfEngineService.saveWfNode(StandardWfEngineService.java:7406) WfPropagationQueue_########.PollingThread: at wt.workflow.engine.StandardWfEngineService.getPersistentNode(StandardWfEngineService.java:2306) WfPropagationQueue_########.PollingThread: at wt.workflow.engine.ConnectorActivityLink.receiveEvent(ConnectorActivityLink.java:138) WfPropagationQueue_########.PollingThread: at wt.workflow.engine.WfLink.receiveEventImmediate(WfLink.java:169) WfPropagationQueue_########.PollingThread: at wt.workflow.engine.StandardWfEngineService.propagateEvent(StandardWfEngineService.java:854) WfPropagationQueue_########.PollingThread: ... 7 more WfPropagationQueue_########.PollingThread: Caused by: wt.util.WTIOException: A SQL error has occured. Database system message follows: WfPropagationQueue_########.PollingThread: java.sql.SQLRecoverableException: Closed Connection WfPropagationQueue_########.PollingThread: at wt.pds.oracle81.StandardLobHandler81.write(StandardLobHandler81.java:209) WfPropagationQueue_########.PollingThread: at wt.pds.LobOutputStream.writeBytes(LobOutputStream.java:87) WfPropagationQueue_########.PollingThread: at wt.pds.LobOutputStream.flushBuffer(LobOutputStream.java:95) WfPropagationQueue_########.PollingThread: at wt.pds.LobOutputStream.close(LobOutputStream.java:78) WfPropagationQueue_########.PollingThread: at wt.pds.PDSEncoder$OutputRedirector.close(PDSEncoder.java:1110) WfPropagationQueue_########.PollingThread: at wt.pds.PDSEncoder$EncodeObjectOutputStream.close(PDSEncoder.java:458) WfPropagationQueue_########.PollingThread: at wt.pds.ChunkLobHandler.setObjectAsLob(ChunkLobHandler.java:189) WfPropagationQueue_########.PollingThread: ... 27 more
- Enable the following loggers and get more detailed info:
- wt.pom.blob
- wt.pom.connection
- wt.pom.sql
WfPropagationQueue_########.PoolQueueThread-25: INFO : wt.pom.sql wcadmin - Insert Statement=INSERT INTO WfExpressionRobot(classnameA2A2,updateCountA2,adSQEN,alertTime,blob$context,changeStateTime,classnamekeycontainerReferen,idA3containerReference,context,dSQEN,deadline,deadlineDuration,description,classnamekeydomainRef,idA3domainRef,endTime,eventConfiguration,eventSet,inheritedDomain,inputVariableMap,wtkey,name,outputVariableMap,parentProcessRefIsNull,classnamekeyparentProcessRef,idA3parentProcessRef,pdSQEN,priority,routerType,securityLabels,startTime,state,suspendTime,templateIsNull,classnamekeyA5,idA3A5,markForDeleteA2,timeToStart,tripCount,userEventList,updateStampA2,createStampA2,modifyStampA2,idA2A2) VALUES ('wt.workflow.robots.WfExpressionRobot',1,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,wtkey_seq.nextval,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);Bind Parameters=[0, 0, oracle.sql.BLOB@2042664f, 0, wt.pdmlink.PDMLinkProduct, 180353642, <BLOB>, 0, null, 0, null, wt.admin.AdministrativeDomain, 180353643, null, 4563418794, null, false, primaryBusinessObject,primaryBusinessObject, Initiate Process Variables, primaryBusinessObject,primaryBusinessObject, false, wt.workflow.engine.WfProcess, 22873046029, 0, 1, NONE, null, null, OPEN_NOT_RUNNING_NOT_STARTED, 0, false, wt.workflow.definer.WfExprRobotTemplate, 19652822701, 0, null, 0, [], 2017-03-03 09:04:36.0, 2017-03-03 09:04:36.0, 2017-03-03 09:04:36.0, 22883752441]
WfPropagationQueue_########.PoolQueueThread-25: TRACE : wt.pom.blob wcadmin - Enter findLocator(WTConnection,LobLocator) wt.pom.WTConnection{id=1119866108,sessionId=339,activeCount=1}, wt.fc.LobLocator@674add14
WfPropagationQueue_########.PoolQueueThread-25: TRACE : wt.pom.blob wcadmin - Enter _findLocator(WTConnection,LobLocator) wt.pom.WTConnection{id=1119866108,sessionId=339,activeCount=1}, wt.fc.LobLocator@674add14
WfPropagationQueue_########.PoolQueueThread-25: INFO : wt.pom.sql wcadmin - Query(wt.pds.AbstractLobHandler)=SELECT blob$context FROM WfExpressionRobot WHERE idA2A2 = ?; Bind Parameters=[22883752441]
WfPropagationQueue_########.PoolQueueThread-25: TRACE : wt.pom.connection wcadmin - getConnection() called from persistence package: wt.pom.BasicStatementManager
WfPropagationQueue_########.PoolQueueThread-25: TRACE : wt.pom.connection wcadmin - Using statement from connection: wt.pom.WTConnection{id=1119866108,sessionId=339,activeCount=2}
WfPropagationQueue_########.PoolQueueThread-25: TRACE : wt.pom.connection wcadmin - Freeing statement from connection: wt.pom.WTConnection{id=1119866108,sessionId=339,activeCount=1}
WfPropagationQueue_########.PoolQueueThread-25: TRACE : wt.pom.blob wcadmin - Exit _findLocator(WTConnection,LobLocator) oracle.sql.BLOB@63f88106
WfPropagationQueue_########.PoolQueueThread-25: TRACE : wt.pom.blob wcadmin - Exit findLocator(WTConnection,LobLocator) oracle.sql.BLOB@63f88106
WfPropagationQueue_########.PoolQueueThread-25: TRACE : wt.pom.blob wcadmin - Enter write(WTConnection,Object,long,InputStream,long) wt.pom.WTConnection{id=1119866108,sessionId=339,activeCount=1}, oracle.sql.BLOB@63f88106, 1, java.io.ByteArrayInputStream@4fdee430, 4044
WfPropagationQueue_########.PoolQueueThread-25: INFO : wt.pom.blob wcadmin - Write chunk, size = 4044
WfPropagationQueue_########.PoolQueueThread-25: TRACE : wt.pom.blob wcadmin - Enter write(WTConnection,Object,long,InputStream,long) wt.pom.WTConnection{id=1119866108,sessionId=339,activeCount=1}, oracle.sql.BLOB@63f88106, 1, java.io.ByteArrayInputStream@4fe97459, 4044
WfPropagationQueue_########.PoolQueueThread-25: TRACE : wt.pom.connection wcadmin - Freeing statement from connection: wt.pom.WTConnection{id=1119866108,sessionId=339,activeCount=0}
WfPropagationQueue_########.PoolQueueThread-25: TRACE : wt.pom.connection wcadmin - freeUserConnection(): connection=wt.pom.WTConnection{id=1119866108,sessionId=339,activeCount=0}
WfPropagationQueue_########.PoolQueueThread-25: TRACE : wt.pom.connection wcadmin - PersistentObjectManager.getUserConnection(): connection=wt.pom.WTConnection{id=1119866108,sessionId=339,activeCount=0}
WfPropagationQueue_########.PoolQueueThread-25: TRACE : wt.pom.connection wcadmin - PersistentObjectManager.getUserConnection(): connection=wt.pom.WTConnection{id=1119866108,sessionId=339,activeCount=0}
WfPropagationQueue_########.PoolQueueThread-25: TRACE : wt.pom.connection wcadmin - getConnection() called from persistence package: wt.pom.TransactionManager
WfPropagationQueue_########.PoolQueueThread-25: INFO : wt.pom.connection wcadmin - reconnect skip rollback - datastoreConnection is closed
WfPropagationQueue_########.PoolQueueThread-25: TRACE : wt.pom.connection wcadmin - Enter disconnect
WfPropagationQueue_########.PoolQueueThread-25: INFO : wt.pom.connection wcadmin - disconnect closing connection
WfPropagationQueue_########.PoolQueueThread-25: TRACE : wt.pom.connection wcadmin - Exit disconnect
WfPropagationQueue_########.PoolQueueThread-25: TRACE : wt.pom.connection wcadmin - enter connect()
WfPropagationQueue_########.PoolQueueThread-24: TRACE : wt.pom.connection wcadmin - setOwner(): owner=xxxxxx;iztfmoed;24243;j1h0ne;167475
WfPropagationQueue_########.PoolQueueThread-24: TRACE : wt.pom.connection wcadmin - clearOwners()
WfPropagationQueue_########.PoolQueueThread-24: TRACE : wt.pom.connection wcadmin - addOwner(): owner=xxxxxx;iztfmoed;24243;j1h0ne;167475 ownerSet=[xxxxxx;iztfmoed;24243;j1h0ne;167475]
- Oracle alert log has lots of following kind of errors
Sweep [inc][733199]: completed Sweep [inc][732829]: completed Errors in file /oracle/app/diag/diag/rdbms/wind/wind/trace/wind_ora_12779772.trc (incident=733342): ORA-00600: internal error code, arguments: [25027], [4], [0], [], [], [], [], [], [], [], [], [] Use ADRCI or Support Workbench to package the incident. See Note 411.1 at My Oracle Support for error and packaging details.
This is a printer-friendly version of Article 257947 and may be out of date. For the latest version click CS257947